Security Digest · Vulnerability record
CVE-2025-54469: NeuVector Enforcer is vulnerable to Command Injection and Buffer overflow
A vulnerability was identified in NeuVector, where the enforcer used environment variables CLUSTERRPCPORT and CLUSTERLANPORT to generate a command to be executed via popen, without first sanitising their values.
CVSS 9.9 Critical EPSS 0.5% · p40
Should you act?
Critical, preconditions apply
Severe if exploited, but exploitation needs conditions that may not apply to you. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.5%, percentile 40: FIRST’s model estimates a 0.5% chance of exploitation activity in the next 30 days, higher than 40% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes
github.com/neuvector/neuvector(Go) >= 5.3.0, < 5.3.5, fixed in 5.3.5;github.com/neuvector/neuvector(Go) >= 5.4.0, <= 5.4.6, fixed in 5.4.7;github.com/neuvector/neuvector(Go) >= 0.0.0-20230727023453-1c4957d53911, < 0.0.0-20251020133207-084a437033b4, fixed in 0.0.0-20251020133207-084a437033b4. Check your lockfile, including transitive dependencies.
What it is
A vulnerability was identified in NeuVector, where the enforcer used environment variables CLUSTERRPCPORT and CLUSTERLANPORT to generate a command to be executed via popen, without first sanitising their values. The entry process of the enforcer container is the monitor process. When the enforcer container stops, the monitor process checks whether the consul subprocess has exited. To perform this check, the monitor process uses the popen function to execute a shell command that determines whether the ports used by the consul subprocess are still active. The values of environment variables CLUSTERRPCPORT and CLUSTERLANPORT are used directly to compose shell commands via popen without validation or sanitization. This behavior could allow a malicious user to inject malicious commands through these variables within the enforcer container.
From the GitHub advisory
Impact A vulnerability was identified in NeuVector, where the enforcer used environment variables CLUSTERRPCPORT and CLUSTERLANPORT to generate a command to be executed via popen, without first sanitising their values.
The entry process of the enforcer container is the monitor process. When the enforcer container stops, the monitor process checks whether the consul subprocess has exited. To perform this check, the monitor process uses the popen function to execute a shell command that determines whether the ports used by the consul subprocess are still active.
The values of environment variables CLUSTERRPCPORT and CLUSTERLANPORT are used directly to compose shell commands via popen without validation or sanitization. This behavior could allow a malicious user to inject malicious commands through these variables within the enforcer container.
In the patched version, the monitor process validates the values of CLUSTERRPCPORT and CLUSTERLANPORT to ensure they contain only valid port numbers before invoking the popen command.
If validation fails, the monitor process exits immediately, causing the enforcer container to terminate. This prevents the execution of any injected or malicious commands.
Weakness type: CWE-78, CWE-77, CWE-120.
Product: github.com/neuvector/neuvector (Go) · Assigned by: suse · Published: 2025-10-30
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| Go | github.com/neuvector/neuvector | >= 5.3.0, < 5.3.5 | 5.3.5 |
| Go | github.com/neuvector/neuvector | >= 5.4.0, <= 5.4.6 | 5.4.7 |
| Go | github.com/neuvector/neuvector | >= 0.0.0-20230727023453-1c4957d53911, < 0.0.0-20251020133207-084a437033b4 | 0.0.0-20251020133207-084a437033b4 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| SUSE | neuvector | 5.3.0 < 5.3.5, 5.4.0 < 5.4.7, 0.0.0-20230727023453-1c4957d53911 < 0.0.0-20251020133207-084a437033b4 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| suse | 3.1 | 9.9 Critical | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Privileges required: low (any account)
- User interaction: none
- Scope: changed (can affect other components)
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none, automatable no, technical impact total.
- FIRST EPSS (model of 2026-10-21): 0.47% probability of exploitation activity in the next 30 days; percentile 40.
Timeline
- — GitHub-reviewed advisory GHSA-c8g6-qrwh-m3vp published (critical)
- — CVE record published by suse
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vulnerability records
- GitHub Advisory GHSA-c8g6-qrwh-m3vp github.com
- CVE.org record CVE-2025-54469 cve.org
- NVD entry CVE-2025-54469 nvd.nist.gov
Other references from the CVE record and advisory
- bugzilla.suse.com bugzilla.suse.com
- github.com github.com