CVE-2026-48687
CVE-2026-48687 is a critical-severity vulnerability in Pavel-odintsov Fastnetmon with a CVSS 3.x base score of 9.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-78.
Key facts
- Severity: Critical (CVSS 3.x base score 9.8)
- EPSS exploit prediction: 2% (75th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-31843
- Weakness: CWE-78
- Affected product: Pavel-odintsov Fastnetmon
- Published:
- Last modified:
Description
FastNetMon Community Edition through 1.2.9 contains an OS command injection vulnerability in the Juniper router integration plugin. The _log() function in src/juniper_plugin/fastnetmon_juniper.php (lines 117-118) constructs shell commands by concatenating the $msg parameter directly into exec() calls: exec("echo `date` \"- {FASTNETMON] - " . $msg . " \" >> " . $FILE_LOG_TMP). The $msg variable contains unsanitized data derived from command-line arguments argv[1] through argv[3], which represent the attack IP address, direction, and power. While FastNetMon's C++ core currently passes IP addresses via inet_ntoa() (which only produces safe dotted-decimal notation), the PHP script performs no input validation or shell escaping. If the script is invoked directly, by another orchestration system, or if future code changes pass string-sourced IPs, arbitrary commands can be injected. The correct fix is to replace exec() with file_put_contents() or use escapeshellarg() on all parameters.
Frequently asked questions
- What is CVE-2026-48687?
- FastNetMon Community Edition through 1.2.9 contains an OS command injection vulnerability in the Juniper router integration plugin. The _log() function in src/juniper_plugin/fastnetmon_juniper.php (lines 117-118) constructs shell commands by concatenating the $msg parameter directly into exec() calls: exec("echo `date` \"- {FASTNETMON] - " . $msg . " \" >> " . $FILE_LOG_TMP). The $msg variable contains unsanitized data derived from command-line arguments argv[1] through argv[3], which represent the attack IP address, direction, and power. While FastNetMon's C++ core currently passes IP addresses via inet_ntoa() (which only produces safe dotted-decimal notation), the PHP script performs no input validation or shell escaping. If the script is invoked directly, by another orchestration system, or if future code changes pass string-sourced IPs, arbitrary commands can be injected. The correct fix is to replace exec() with file_put_contents() or use escapeshellarg() on all parameters.
- How severe is CVE-2026-48687?
- CVE-2026-48687 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2026-48687 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 2% (75th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-48687?
- CVE-2026-48687 affects Pavel-odintsov Fastnetmon. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-48687?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2026-48687 have an EU (EUVD) identifier?
- Yes. CVE-2026-48687 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-31843.
- When was CVE-2026-48687 published?
- CVE-2026-48687 was published on 2026-05-26 and last updated on 2026-07-21.
References
- https://github.com/pavel-odintsov/fastnetmon
- https://github.com/pavel-odintsov/fastnetmon/blob/master/src/juniper_plugin/fastnetmon_juniper.php
- https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48687-juniper-cmd-injection
Affected products (1)
- cpe:2.3:a:pavel-odintsov:fastnetmon:*:*:*:*:community:*:*:*
More vulnerabilities in Pavel-odintsov Fastnetmon
- CVE-2026-48689 — Critical (CVSS 9.8): FastNetMon Community Edition through 1.2.9 contains an off-by-one heap-based buffer overflow in the…
- CVE-2026-48691 — Critical (CVSS 9.8): FastNetMon Community Edition through 1.2.9 contains an integer overflow in the BGP AS_PATH attribute encoder. In…
- CVE-2026-48686 — Critical (CVSS 9.8): FastNetMon Community Edition through 1.2.9 contains a stack-based buffer overflow in the BGP NLRI (Network Layer…
- CVE-2026-48695 — High (CVSS 8.1): FastNetMon Community Edition through 1.2.9 contains an OS command injection vulnerability in the MikroTik router…
- CVE-2026-48694 — High (CVSS 8.1): FastNetMon Community Edition through 1.2.9 contains a configuration injection vulnerability in the Juniper router…
- CVE-2026-48692 — High (CVSS 8.1): FastNetMon Community Edition through 1.2.9 exposes a gRPC API server on port 50052 with no authentication mechanism.…
All CVEs affecting Pavel-odintsov Fastnetmon →
Other CWE-78 (OS Command Injection) vulnerabilities
- CVE-2026-19188 — Critical (CVSS 10.0): A critical OS command injection vulnerability has been identified in the Haiwell IoT Cloud HMI Gateway product. The…
- CVE-2026-48362 — Critical (CVSS 10.0): ColdFusion is affected by an Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')…
- CVE-2026-16812 — Critical (CVSS 10.0): VeloCloud Orchestrator (VCO) on-prem has a security issue where this issue may allow a remote attacker to access…
- CVE-2026-6516 — Critical (CVSS 10.0): Zohocorp ManageEngine ADAudit Plus versions before 8606 are affected by Unauthenticated Remote code execution due to…
- CVE-2026-46339 — Critical (CVSS 10.0): 9Router is an AI router & token saver. From 0.4.30 until 0.4.37, 9Router's src/proxy.js middleware did not protect…
- CVE-2026-59726 — Critical (CVSS 10.0): Ruflo is an agent meta-harness for Claude Code and Codex. Prior to 3.16.3, ruflo's default docker-compose deployment…