
pfSense CE 2.9.0-DEVELOPMENT - उच्च - रिमोट - RCE - sshguard THRESHOLD CRLF
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-sshguard-crlf
Class: RCE Reach: Remote
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
sshguard_threshold / blocktime / detection_time is_numericint नहीं हैं। system_sshguard_start, THRESHOLD= को raw रूप में लिखता है। अतिरिक्त BACKEND= वह executable है जिसे sshguard चलाता है। Save करने पर sshguard पुनः आरंभ होता है। SA-26_06 का sibling class, भिन्न फ़ाइल।
| ID | अभी तक कोई CVE नहीं |
| Class | RCE |
| Reach | Remote (जब तक उल्लेख न हो, authenticated WebGUI) |
| CWE | CWE-78 |
| CVSS | High: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Product | pfSense CE |
| Affected | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| Auth | page-system-advanced-admin के साथ WebGUI session |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 |
मैंने public master 9363ac5 को pin किया। Lab, pinned sink का PHP gadget है, 127.0.0.1:18950 पर loopback HTTP।
Series write-up: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| Method | Sink | Privilege |
|---|---|---|
| POST system_advanced_admin.php sshguard_threshold | syslog.inc system_sshguard_start THRESHOLD= फिर sshguard BACKEND exec | Integrity: Lab-proven: अतिरिक्त BACKEND= last-wins; stub ने sshguard.conf source किया और उस backend को exec किया, जिसने witness लिखा। |
| same leftover | same sink | Recon: Inferred: backend root के रूप में चलता है। |
| same leftover | same sink | Availability: Inferred: sshguard firewall backend को बदलें। |
Requires: page-system-advanced-admin. जब तक उल्लेख न हो, POST पर CSRF-magic। WebGUI PHP-FPM root है।
Requires: page-system-advanced-admin. जब तक उल्लेख न हो, POST पर CSRF-magic। WebGUI PHP-FPM root है। जब तक उल्लेख न हो, POST पर CSRF-magic। WebGUI PHP-FPM root है।
Whitelist is_subnet है। SA-25_09 एक भिन्न sshguard bug है।
कोई Diagnostics: Command नहीं, जब तक वह पृष्ठ भी granted न हो।
cd lab
./run.sh
Loopback 127.0.0.1:18950. Compose project pfsense-sshguard-crlf. Witness PFSENSE-SSHGUARD-CRLF-WITNESS. केवल loopback: 127.0.0.1:18950. Compose project pfsense-sshguard-crlf. Witness PFSENSE-SSHGUARD-CRLF-WITNESS. pinned lines का PHP gadget. Run के बाद stack tear down हो जाता है।
अंतिम पंक्ति:
SUCCESS PFSENSE-SSHGUARD-CRLF control-single-backend=yes trigger-backend-exec=yes PFSENSE-SSHGUARD-CRLF-WITNESS
तीनों sshguard fields को is_numericint करें। CR/LF अस्वीकार करें।
9363ac5b8651a1c7a333180425ce7719070f95f9