CVE-2026-48687

NameCVE-2026-48687
DescriptionFastNetMon 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1138646

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
fastnetmon (PTS)bookworm, bookworm (security)1.2.4-2+deb12u1vulnerable
trixie1.2.8-1vulnerable
forky, sid1.2.9-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
fastnetmonsource(unstable)1.2.9-1unimportant1138646

Notes

https://lorikeetsecurity.com/blog/fastnetmon-cve-2026-48687-juniper-cmd-injection
Crosses no meaningful security boundary
https://github.com/pavel-odintsov/fastnetmon/pull/1049
https://github.com/pavel-odintsov/fastnetmon/commit/6f58184fb60248df011c4c379bf445e07609ad27 (v1.2.9)

Search for package or bug name: Reporting problems