
Nur-Lese-PHP2Shell-Paketprüfer für Debian 12/13 (CVE-2026-109618, CVE-2026-109619).
Ein schreibgeschütztes PHP-Paket-Audit für Debian 12 (bookworm) und Debian 13 (trixie). Prüft Paketversionen gegen die veröffentlichten Fixes für CVE-2026-109618 und CVE-2026-109619, allgemein bekannt als PHP2Shell.
Es inventarisiert PHP-Kernpakete über installierte Branches hinweg, einschließlich PHP-FPM,
CLI, CGI und Apache mod_php, anstatt sich auf den Standardbefehl php -v zu verlassen.
Es meldet außerdem APT-Kandidaten, Paket-Holds und gängige Laufzeitpfade außerhalb
der bewerteten Pakete.
Dies ist ein Paketversions-Prüfwerkzeug, kein Exploit für Schwachstellen und kein Zertifikat dafür, dass ein Server sicher ist. Es installiert keine Pakete, ändert keine Konfiguration, aktualisiert keine APT-Indizes, startet keine Dienste neu, führt keine PHP-Binärdateien aus und stellt keine Netzwerkanfragen.
Voraussetzungen: Debian 12 oder 13, Python 3.9+ und die Standardwerkzeuge dpkg/APT.
Es gibt keine Python-Abhängigkeiten von Drittanbietern. Root ist für den Checker nicht erforderlich;
nicht zugängliche Scan-Pfade werden als unvollständig gemeldet.
git clone https://github.com/toxy4ny/php2shell-checker.git
cd php2shell-checker
# Optional, separate operation: refresh available package versions.
sudo apt update
python3 check-php2shell.py
GitHub-Mirror: https://github.com/toxy4ny/php2shell-checker
Sie können auch nur check-php2shell.py herunterladen, es prüfen und lokal ausführen.
Um ein benutzerdefiniertes Installationsverzeichnis einzubeziehen:
python3 check-php2shell.py --scan-root /www/server/php --scan-root /srv/php
Der Standard-Scan deckt /usr/bin, /usr/sbin, /usr/lib/cgi-bin,
/usr/lib/apache2/modules, /usr/local und /opt ab. Er erkennt gängige Dateinamen
von PHP, PHP-FPM, CGI, LiteSpeed PHP, FrankenPHP und Apache-Modulen. Verzeichnis-
Symlinks werden nicht durchlaufen; übergeben Sie deren Zielverzeichnisse explizit.
| Status | Bedeutung |
|---|---|
FIXED | Die Paket-Metadaten erfüllen einen bekannten Schwellenwert für eine gepatchte Version. |
UPDATE | Eine erkennbare Debian-Paketversion liegt unterhalb ihres behobenen Schwellenwerts. |
UNKNOWN | Die Behebung kann nicht automatisch verifiziert werden. Wenden Sie sich an den Pakethersteller. |
Ältere Drittanbieter-Pakete werden nicht automatisch als verwundbar eingestuft: Ihr
Hersteller hat die Korrektur möglicherweise zurückportiert. Sie bleiben UNKNOWN, bis eine
unterstützte behobene Version installiert oder das Backport unabhängig verifiziert wurde. Eine
Epoche oder eine große Packaging-Revision allein gilt niemals als Upstream-Fix. Die Versionsbenennung
ist kein Beweis für die Authentizität des Repositorys oder die Integrität des Pakets.
Beispielausgabe (illustrativ, kein Scan Ihres Hosts):
[UPDATE] php8.2-fpm installed=8.2.34-1~deb12u1
Debian package version below 8.2.35-1~deb12u1; source=php8.2 (8.2.34-1~deb12u1)
Candidate: 8.2.35-1~deb12u1 [FIXED] — Debian package version >= 8.2.35-1~deb12u1
Wenn APT einen neueren festen Kandidaten anbietet, gibt der Bericht einen Simulationsbefehl und einen Aktualisierungsbefehl für berechtigte Pakete aus. Keiner von beiden wird ausgeführt. Zurückgehaltene Pakete werden identifiziert und aus dem vorgeschlagenen Befehl ausgeschlossen. Abhängigkeiten und Holds können die vollständige Transaktion dennoch beeinflussen: Prüfen Sie die Simulation, bevor Sie fortfahren.
Exit-Codes:
| Code | Bedeutung |
|---|---|
0 | Alle entdeckten PHP-Core-Pakete erfüllen bekannte feste Schwellenwerte, ohne zusätzliche unbekannte Befunde im gescannten Bereich. |
1 | Mindestens ein Paket benötigt eine Aktualisierung, ohne unbekannte Befunde. |
2 | Unbekannte Befunde, unvollständiges Audit, keine PHP-Core-Pakete gefunden, nicht unterstütztes System oder Ausführungsfehler. Hat Vorrang vor 1. |
Regeln verifiziert am 2026-10-22. Sie sind im Skript eingebettet und werden nicht
automatisch aktualisiert. Ein zukünftiger/nicht zugeordneter Branch wird als UNKNOWN gemeldet.
| Paket oder Branch | Fester Schwellenwert |
|---|---|
Debian 12 php8.2 Quellpaket | 8.2.35-1~deb12u1 |
Debian 13 php8.4 Quellpaket | 8.4.27-1~deb13u1 |
| Upstream PHP 8.2 | 8.2.35 |
| Upstream PHP 8.3 | 8.3.36 |
| Upstream PHP 8.4 | 8.4.27 |
| Upstream PHP 8.5 | 8.5.12 |
Primäre Referenzen:
apt update-Fehler, bevor Sie sich auf den vorgeschlagenen Upgrade-Plan verlassen.FIXED-Ergebnis belegt nicht, dass ein Host niemals kompromittiert wurde.python3 -m unittest discover -s tests -v
Fixture-Tests laufen ohne Debian. Unter Debian verwenden zusätzliche Tests das echte
dpkg --compare-versions, um Release-Grenzen, Vorabversionen, Epochen und
Paketrevisionen abzudecken. CI führt Tests und einen Smoke-Check mit installiertem PHP auf beiden
Debian-Releases aus, auf GitHub und GitLab.
Bei Änderungen an den Versionsregeln bitte eine primäre Herstellerempfehlung und einen Regressionstest beifügen. Bitte Hostnamen und sensible Pfade aus Fehlerberichten entfernen. Keine Zugangsdaten oder Produktionskonfigurations-Dumps beifügen.
MIT. Copyright (c) 2026 PHP2Shell Checker contributors.