
pfSense CE 2.9.0-DEVELOPMENT - 中 - リモート - 設定インジェクション - リミッターAQM改行
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-limiter-aqm
クラス: 設定インジェクション 到達範囲: リモート
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
AQM パラメータを FormatParameters / vsprintf で /tmp/rules.limiter に書き込み、その後 mwexec("/sbin/dnctl {$g['tmp_path']}/rules.limiter") を実行する。Apply の argv はそのファイルパスである。隠し番号の削除は、すでに報告済みの別の残存問題である。
| ID | CVE 未採番 |
| クラス | 設定インジェクション |
| 到達範囲 | リモート(特記なき限り認証済み WebGUI) |
| CWE | CWE-74 |
| CVSS | Medium: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L |
| 製品 | pfSense CE |
| 影響を受けるバージョン | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| 認証 | page-firewall-trafficshaper-limiter を持つ WebGUI セッション |
| ライセンス | GNU Affero GPL v3.0 |
| ラボ | 127.0.0.1 のみ |
公開 master 9363ac5 を固定した。ラボは固定したシンクの PHP ガジェットで、127.0.0.1:19260 上のループバック HTTP である。
シリーズ解説: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| 手法 | シンク | 権限 |
|---|---|---|
| POST firewall_shaper_vinterface.php の AQM target/interval | vsprintf で /tmp/rules.limiter に書き込み、その後そのパスを dnctl に渡す | 完全性: ラボで実証済み: rules.limiter に余分なパイプ行を追加。Apply の argv はそのパスの dnctl のまま。シェルではない。 |
| 同じ残存問題 | 同じシンク | 偵察: ラボで実証済み: 証拠は argv には含まれない。 |
| 同じ残存問題 | 同じシンク | 可用性: 推測: apply 後に悪意ある dummynet パイプが残る。 |
必要条件: page-firewall-trafficshaper-limiter。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。
必要条件: page-firewall-trafficshaper-limiter。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。
シェルではない。Limiter 名は文字セット制限のまま。Create の上書きと delete の連結はすでにメール済み。
Diagnostics: Command は、そのページも許可されていない限り不可。
cd lab
./run.sh
ループバック 127.0.0.1:19260。Compose プロジェクト pfsense-limiter-aqm。証拠 PFSENSE-LIMITER-AQM-WITNESS。ループバックのみ: 127.0.0.1:19260。Compose プロジェクト pfsense-limiter-aqm。証拠 PFSENSE-LIMITER-AQM-WITNESS。固定した行の PHP ガジェット。実行後にスタックは破棄される。
最終行:
SUCCESS PFSENSE-LIMITER-AQM control-one-pipe-line=yes trigger-extra-dnctl=yes apply-file-argv=yes PFSENSE-LIMITER-AQM-WITNESS
AQM パラメータを数値チェックする。CR/LF を拒否する。
9363ac5b8651a1c7a333180425ce7719070f95f9