Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
opnsense-tunables-loader — OPNsense 26.7.6 – Hoch – Remote – Konfigurationszeilen-Injektion – Tunables-Loader | Kitploit
Tools/GitHubGitHub/abraxas/opnsense-tunables-loader
SchwachstellenanalyseExploitationWebanwendungs-ExploitationKonfigurationsprüfungSicherheitsvirtualisierungPenetrationstestsLabs & Praxis
GitHubabraxas/opnsense-tunables-loader

opnsense-tunables-loader

OPNsense 26.7.6 – Hoch – Remote – Konfigurationszeilen-Injektion – Tunables-Loader

Repository anzeigen
1vor 2 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - opnsense-tunables-loader

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-tunables-loader

opnsense-tunables-loader

Klasse: Config-Zeilen-Injection Reichweite: Remote

OPNsense-Kern 26.7.6 (a842fe48) - opnsense.org

System: Advanced: Tunables interpoliert weiterhin Name/Wert in /boot/loader.conf. Zurückgebliebener Verwandter von GHSA-fq94. Tunables.xml tunable / value sind reine TextField (Zeilenumbrüche aktiviert). system_login_configure() schreibt {$param}="{$value}". Tunables-Reconfigure startet außerdem login neu. Live-sysctl(8) läuft über shell_safe plus einen OID-Filter, dieser Sprung ist also keine Shell-Injection. Der Überrest sind zusätzliche Loader-Direktiven beim nächsten Boot. Die Berechtigung ist page-system-advanced-sysctl, nicht page-all.

Dieses GitHub-Paket bleibt privat bis zur koordinierten Offenlegung.

IDnoch keine CVE
KlasseConfig-Zeilen-Injection
ReichweiteRemote (authentifizierte WebGUI / API)
CWECWE-93
CVSSHoch: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduktOPNsense core
Betroffen26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) System: Advanced: Tunables
AuthWebGUI-Sitzung oder API-Schlüssel mit page-system-advanced-sysctl
LizenzGNU Affero GPL v3.0
Labcompose exec gadget (Hunt-Slot 18850)

Ich habe den Tag 26.7.6 gepinnt, Peel a842fe48. Das Lab ist ein PHP-Gadget der gepinnten system_login_configure()-Interpolation. Compose-Projekt opnsense-tunables-loader. Hunt-Slot 18850 in der Gadget-Familie 18800-18860; diese Compose-Datei verwendet docker compose exec php, keinen veröffentlichten HTTP-Bind.

Was ein Angreifer tun kann

MethodeSinkBerechtigung
Tunables-Wert CR/LF (hw.usb.no_boot_wait plus "\n# witness)Pin system_login_configure() zusätzliche Zeile in /boot/loader.confIntegrität (lab-belegt): zusätzliches # OPNSENSE-TUNABLES-LOADER-WITNESS in eigener Zeile nach einer geschlossenen Zuweisung. Lab: newline-extra-line=yes.
Sauberer Wert 1derselbe WriterNegativ (lab-belegt): einzelne Zuweisungszeile, kein Witness. Lab: clean-value-single-line=yes.
Dieselben zusätzlichen Loader-Zeilen beim nächsten BootLoader init_path / module_path / *_load / vfs.root.mountfrom / KonsoleIntegrität (abgeleitet): der Loader beim nächsten Boot beachtet Angreifer-Schlüssel. In diesem Gadget nicht neu gestartet.
Müll-Loader-Zeilen / falsches vfs.root.mountfrom/boot/loader.confVerfügbarkeit (abgeleitet): Boot-Fehler oder falsches Root.
POST /api/core/tunables/searchItemTunables-APIRecon (abgeleitet): Tunables auflisten, einschließlich aktuell/Standard/Typ. Für diese ACL vorgesehen.
Live-sysctl -w einer gültigen OIDset_sysctl + OID-FilterVorgesehene Seitenaufgabe. Zusätzliche Loader-Zeilen sind der Überrest.

Lab-belegt vs. abgeleitet: zusätzliche Loader-Zeile per Newline und Einzelzeile bei sauberem Wert sind Lab-ERFOLG. Loader-Anwendung beim nächsten Boot ist abgeleitet. Gadget, keine vollständige OPNsense-FreeBSD-VM.

Erfordert: angemeldeter Benutzer oder dessen Local-API-Schlüssel mit page-system-advanced-sysctl und ohne page-all. POST /api/core/tunables/*. CSRF bei Sitzungs-POST. Reconfigure startet login neu; rc.reload_all und Boot rufen ebenfalls system_login_configure auf.

Angrenzende Oberfläche, die geschlossen bleibt

OberflächeLab
Live-sysctl-Shell-Injectionshell_safe plus OID-Filter
Sauberer Werteinzelne Zuweisungszeile
Unauth401
Benutzer ohne page-system-advanced-sysctl403
user-config-readonlysave() wirft
page-all-Tunables-Admin setzt eine echte OIDvorgesehen
GHSA-fq94 gepatchte GUI-Textfelderandere Sinks; dieses Feld wurde nicht genannt

Kein Unauth. Keine Live-sysctl-Shell. Kein Diagnostics: Command.

Lab

cd lab
./run.sh

Compose-Projekt opnsense-tunables-loader. Witness OPNSENSE-TUNABLES-LOADER-WITNESS. Letzte Zeile:

SUCCESS opnsense-tunables-loader newline-extra-line=yes clean-value-single-line=yes OPNSENSE-TUNABLES-LOADER-WITNESS

Root-Launcher: python3 opnsense-tunables-loader-Abraxas-Labs.py.

Der Fix

CR/LF und " aus Tunables-Name und -Wert entfernen, gleiche Klasse wie GHSA-fq94. Den Namen als OID-Maske typisieren, nicht als reines TextField. Mit einem Helper quoten, der die Zuweisung nicht schließen kann. Ein Tunable nicht in /boot/loader.conf schreiben, es sei denn, es ist ein bekannter Loader-Schlüssel.

Referenzen

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • system.inc system_login_configure loader.conf-Interpolation
  • Tunables.xml reines TextField Name/Wert
  • Verwandter (andere GUI-Textfelder, nicht dieser Sink): GHSA-fq94
  • CWE-93
Tool herunterladen