GCVE-1988-2026-0431
Vulnerability from gna-1988 – Published: 2026-10-02 04:57 – Updated: 2026-10-02 04:57
VLAI
EPSS
VEX
Title
[0day-rubbish] Server Technology PRO3X PDU 030600 port_mux listener program override to root command execution (7.2)
Summary
0day Rubbish Research Team is publicly disclosing a vulnerability in Server
Technology (Legrand group) PRO3X series intelligent rack PDUs, firmware
spdu-pro3x-030600 build 46640 (ARM 32-bit uClibc Linux).
Type: authenticated listener program override leading to root command execution
(CWE-78, CWE-269; a separate hard-coded factory credential is reported as
CWE-798). PRO3X PDUs run port_mux, an inetd-style launcher that starts every
protocol listener with fork + execv and never drops privileges, so listeners run
as root. The executable path is proto_listener_entry.program in cfg_pmux.cdl,
typed nctl_nspc_nempty_str_512, a free-form string with no whitelist, and an
authenticated administrator rewrites it through setConfiguration (POST /J/cfg).
Pointing the port 80 http listener at /bin/sh with arguments -c "<cmd>" applies at
runtime: the next TCP connection to port 80 executes the attacker's command as
uid 0.
Scoring. This finding is dual-scored, with the conditional figure published
alongside the primary:
- PRIMARY, 7.2 High, CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H. An
authenticated administrator is required, and that gate was verified unbypassed.
- CONDITIONAL, 9.8 Critical, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Where
the factory default administrator credential is left unchanged, unrotated units
are open with no privileged secret.
Impact: root (uid 0) on the rack power distribution controller, a
critical-infrastructure power monitoring and control appliance. Full configuration
control follows; the disabled modbus (502) and mbusd (503) listeners can be armed
with attacker-chosen programs. Outlet switching and power cycling were not
separately exercised by this proof-of-concept.
Authentication: post-authentication administrator (with a shipped default
administrator credential reported separately as CWE-798).
Verification boundary, stated plainly. No physical PRO3X hardware was used, and
the three-step HTTP chain (POST /J/auth, POST /J/cfg, then the TCP trigger) was
NOT exercised end to end against a device. What was dynamically proven is the
root execution primitive: port_mux fork + execv of an injected /bin/sh -c as uid
0, run twice inside a network namespace under qemu-arm-static against the
rootfs unpacked from the firmware Squashfs, each producing a root-owned marker
containing uid=0(root). Each link of the HTTP delivery path was confirmed
component by component (httpd.conf routing, the BusyBox SCM_RIGHTS descriptor
passing, the administrator credential accepted by auth_cli, and the configuration
write accepted and read back through cfgc). SCM_RIGHTS descriptor passing between
the separate httpd and jsonrpcd processes does not complete under qemu user-mode
emulation, which is an emulation-environment limitation rather than a property of
the vulnerability. Only this build was tested; no other build or model is claimed.
Full technical analysis and a reproducible proof-of-concept:
https://0day-rubbish.com/blog/servertech-pro3x-port-mux-command-injection
Project archive (ongoing disclosure series):
https://github.com/Exploit-Garbage/0day-Rubbish
The vendor has been notified through its published security contact. No vulnerability identifier has been assigned to
this finding yet.
--
0day Rubbish Research Team
disclosure () 0day-rubbish com
https://0day-rubbish.com
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
7 references
Impacted products
1 product
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| unknown | Server Technology PRO3X |
Affected:
unknown
|
guessed |
{
"containers": {
"cna": {
"affected": [
{
"product": "Server Technology PRO3X",
"vendor": "unknown",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "disclosure via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "0day Rubbish Research Team is publicly disclosing a vulnerability in Server\nTechnology (Legrand group) PRO3X series intelligent rack PDUs, firmware\nspdu-pro3x-030600 build 46640 (ARM 32-bit uClibc Linux).\n\nType: authenticated listener program override leading to root command execution\n(CWE-78, CWE-269; a separate hard-coded factory credential is reported as\nCWE-798). PRO3X PDUs run port_mux, an inetd-style launcher that starts every\nprotocol listener with fork + execv and never drops privileges, so listeners run\nas root. The executable path is proto_listener_entry.program in cfg_pmux.cdl,\ntyped nctl_nspc_nempty_str_512, a free-form string with no whitelist, and an\nauthenticated administrator rewrites it through setConfiguration (POST /J/cfg).\nPointing the port 80 http listener at /bin/sh with arguments -c \"\u003ccmd\u003e\" applies at\nruntime: the next TCP connection to port 80 executes the attacker\u0027s command as\nuid 0.\n\nScoring. This finding is dual-scored, with the conditional figure published\nalongside the primary:\n- PRIMARY, 7.2 High, CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H. An\n authenticated administrator is required, and that gate was verified unbypassed.\n- CONDITIONAL, 9.8 Critical, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Where\n the factory default administrator credential is left unchanged, unrotated units\n are open with no privileged secret.\n\nImpact: root (uid 0) on the rack power distribution controller, a\ncritical-infrastructure power monitoring and control appliance. Full configuration\ncontrol follows; the disabled modbus (502) and mbusd (503) listeners can be armed\nwith attacker-chosen programs. Outlet switching and power cycling were not\nseparately exercised by this proof-of-concept.\n\nAuthentication: post-authentication administrator (with a shipped default\nadministrator credential reported separately as CWE-798).\n\nVerification boundary, stated plainly. No physical PRO3X hardware was used, and\nthe three-step HTTP chain (POST /J/auth, POST /J/cfg, then the TCP trigger) was\nNOT exercised end to end against a device. What was dynamically proven is the\nroot execution primitive: port_mux fork + execv of an injected /bin/sh -c as uid\n0, run twice inside a network namespace under qemu-arm-static against the\nrootfs unpacked from the firmware Squashfs, each producing a root-owned marker\ncontaining uid=0(root). Each link of the HTTP delivery path was confirmed\ncomponent by component (httpd.conf routing, the BusyBox SCM_RIGHTS descriptor\npassing, the administrator credential accepted by auth_cli, and the configuration\nwrite accepted and read back through cfgc). SCM_RIGHTS descriptor passing between\nthe separate httpd and jsonrpcd processes does not complete under qemu user-mode\nemulation, which is an emulation-environment limitation rather than a property of\nthe vulnerability. Only this build was tested; no other build or model is claimed.\n\nFull technical analysis and a reproducible proof-of-concept:\n https://0day-rubbish.com/blog/servertech-pro3x-port-mux-command-injection\n\nProject archive (ongoing disclosure series):\n https://github.com/Exploit-Garbage/0day-Rubbish\n\nThe vendor has been notified through its published security contact. No vulnerability identifier has been assigned to\nthis finding yet.\n\n--\n0day Rubbish Research Team\ndisclosure () 0day-rubbish com\nhttps://0day-rubbish.com\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-269",
"description": "CWE-269",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-78",
"description": "CWE-78",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-798",
"description": "CWE-798",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-02T04:57:33Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description",
"exploit"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Sep/79"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Sep/79"
},
{
"url": "https://0day-rubbish.com"
},
{
"url": "https://0day-rubbish.com/blog/servertech-pro3x-port-mux-command-injection"
},
{
"url": "https://github.com/Exploit-Garbage/0day-Rubbish"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Sep/79"
],
"discovery": "EXTERNAL"
},
"title": "[0day-rubbish] Server Technology PRO3X PDU 030600 port_mux listener program override to root command execution (7.2)",
"x_gcve": [
{
"recordType": "advisory",
"relationships": [],
"vulnId": "GCVE-1988-2026-0431",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Sep/79",
"automated": true,
"contentSha256": "9914d9e5c60c365c9e58406f57ddde29b4945a74adbb372e4574a6056b52e5be",
"evidenceScore": 11,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Sep/79",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-09-23T04:55:27Z"
}
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-10-02T04:57:33Z",
"dateUpdated": "2026-10-02T04:57:33Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0431"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.