{"id":"CVE-2026-48687","details":"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 . \" \\\" \u003e\u003e \" . $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.","modified":"2026-06-18T03:55:19.827420245Z","published":"2026-05-26T00:00:00Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48687.json","cna_assigner":"mitre"},"references":[{"type":"WEB","url":"https://github.com/pavel-odintsov/fastnetmon/blob/master/src/juniper_plugin/fastnetmon_juniper.php"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48687.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48687"},{"type":"PACKAGE","url":"https://github.com/pavel-odintsov/fastnetmon"},{"type":"ARTICLE","url":"https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48687-juniper-cmd-injection"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/pavel-odintsov/fastnetmon","events":[{"introduced":"0"},{"fixed":"394fbe06d112f9609d3d1cb10d60cbf98347c96a"}],"database_specific":{"source":["DESCRIPTION","CPE_RANGE"],"extracted_events":[{"introduced":"0"},{"fixed":"1.2.9"},{"introduced":"0"},{"last_affected":"1.2.9"}],"cpe":"cpe:2.3:a:pavel-odintsov:fastnetmon:*:*:*:*:community:*:*:*"}}],"versions":["v1.2.8","v1.2.7","v1.2.6","v1.2.5","v1.2.4","v1.2.3","v1.2.2","v1.2.1","v1.2.0","v1.1.9","v1.1.8","v1.1.7","v1.1.6","v1.1.5","v1.1.4","v1.1.3","v1.1.2","v1.1.0","v1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-48687.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"}]}