| Title | Pavel OdintsovのFastNetMonにおけるOS コマンドインジェクションの脆弱性 |
|---|---|
| Summary | FastNetMon Community Edition バージョン1.2.9以前には、Juniperルーター統合プラグインにOSコマンドインジェクションの脆弱性があります。src/juniper_plugin/fastnetmon_juniper.phpの_log()関数(117-118行目)は、$msgパラメータを直接exec()呼び出しに連結してシェルコマンドを構築しています。具体的には exec(\"echo `date` \"- {FASTNETMON] - " . $msg . " \" >> " . $FILE_LOG_TMP) となっています。$msg変数にはコマンドライン引数argv[1]からargv[3]に由来する未検証のデータが含まれており、これらは攻撃者のIPアドレス、方向、および強度を表します。現在FastNetMonのC++コアはinet_ntoa()を通じてIPアドレスを渡しており(これは安全なドット区切り10進表記のみを生成します)、PHPスクリプト側では入力検証やシェルエスケープが行われていません。スクリプトが直接呼び出された場合、別のオーケストレーションシステムから、あるいは将来的に文字列ソースのIPが渡された場合、任意のコマンドが注入される可能性があります。正しい修正方法は、exec()をfile_put_contents()に置き換えるか、全てのパラメータに対しescapeshellarg()を使用することです。 |
| Possible impacts | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 26, 2026, midnight |
| Registration Date | May 29, 2026, 11:16 a.m. |
| Last Update | May 29, 2026, 11:16 a.m. |
| CVSS3.0 : 緊急 | |
| Score | 9.8 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月29日] 掲載 |
May 29, 2026, 11:16 a.m. |
| Summary | 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. |
|---|---|
| Publication Date | May 27, 2026, 1:16 a.m. |
| Registration Date | May 27, 2026, 4:08 a.m. |
| Last Update | May 28, 2026, 3:16 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:pavel-odintsov:fastnetmon:*:*:*:*:community:*:*:* | 1.2.9 | ||||