CVE-2019-11043
PHP FastCGI Process Manager (FPM) Buffer Overflow Vulnerability
Beschreibung
CVE-2019-11043 ist eine Buffer-Overflow-Schwachstelle in PHP-FPM (FastCGI Process Manager), die bei Verwendung mit bestimmten nginx-Konfigurationen zu Remote Code Execution führen kann. Der Fehler ermöglicht es einem nicht authentifizierten Angreifer, durch speziell gestaltete HTTP-Anfragen beliebigen Code auf dem Webserver auszuführen. Diese Schwachstelle ist besonders gefährlich, da die betroffene nginx+PHP-FPM-Kombination eine der häufigsten Webserver-Bereitstellungen ist. Sie wurde am 25. März 2022 in den CISA-Katalog aufgenommen. Mit einem EPSS-Score von 97,4 % (99,9. Perzentil) ist eine Ausnutzung nahezu sicher.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:NIm Rechner öffnenCWEs
Betroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| php | php | >= 7.1.0, < 7.1.33; >= 7.2.0, < 7.2.24; >= 7.3.0, < 7.3.11 |
| canonical | ubuntu linux | 12.04; 14.04; 16.04; 18.04; 19.04; 19.10 |
| debian | debian linux | 9.0; 10.0 |
| fedoraproject | fedora | 29; 30; 31 |
| tenable | tenable.sc | < 5.19.0 |
| redhat | software collections | 1.0 |
| redhat | enterprise linux | 8.0 |
| redhat | enterprise linux desktop | 6.0; 7.0 |
| redhat | enterprise linux eus | 7.7; 8.1; 8.2; 8.4; 8.6; 8.8 |
| redhat | enterprise linux eus compute node | 7.7 |
| redhat | enterprise linux for arm 64 | 8.0_aarch64 |
| redhat | enterprise linux for arm 64 eus | 8.1_aarch64; 8.2_aarch64; 8.4_aarch64; 8.6_aarch64; 8.8_aarch64 |
| redhat | enterprise linux for ibm z systems | 6.0_s390x; 7.0_s390x; 8.0_s390x |
| redhat | enterprise linux for ibm z systems eus | 7.7_s390x; 8.1_s390x; 8.2_s390x; 8.4_s390x; 8.6_s390x; 8.8_s390x |
| redhat | enterprise linux for power big endian | 6.0_ppc64; 7.0_ppc64 |
| redhat | enterprise linux for power big endian eus | 7.7_ppc64 |
| redhat | enterprise linux for power little endian | 7.0_ppc64le; 8.0_ppc64le |
| redhat | enterprise linux for power little endian eus | 7.7_ppc64le; 8.1_ppc64le; 8.2_ppc64le; 8.4_ppc64le; 8.6_ppc64le; 8.8_ppc64le |
| redhat | enterprise linux for scientific computing | 7.0 |
| redhat | enterprise linux server | 6.0; 7.0 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00011.html(Mailing List, Third Party Advisory)
- http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00014.html(Mailing List, Third Party Advisory)
- http://packetstormsecurity.com/files/156642/PHP-FPM-7.x-Remote-Code-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- http://seclists.org/fulldisclosure/2020/Jan/40(Mailing List, Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3286(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3287(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3299(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3300(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3724(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3735(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2019:3736(Third Party Advisory)
- https://access.redhat.com/errata/RHSA-2020:0322(Third Party Advisory)
- https://bugs.php.net/bug.php?id=78599(Exploit, Issue Tracking, Patch, Vendor Advisory)
- https://github.com/neex/phuip-fpizdam(Exploit, Third Party Advisory)
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3W23TP6X4H7LB645FYZLUPNIRD5W3EPU/(Mailing List, Third Party Advisory)
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/FSNBUSPKMLUHHOADROKNG5GDWDCRHT5M/(Mailing List, Third Party Advisory)
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/T62LF4ZWVV7OMMIZFO6IFO5QLZKK7YRD/(Mailing List, Third Party Advisory)
- https://seclists.org/bugtraq/2020/Jan/44(Mailing List, Third Party Advisory)
- https://security.netapp.com/advisory/ntap-20191031-0003/(Third Party Advisory)
- https://support.apple.com/kb/HT210919(Third Party Advisory)
- https://support.f5.com/csp/article/K75408500?utm_source=f5support&%3Butm_medium=RSS(Third Party Advisory)
- https://usn.ubuntu.com/4166-1/(Third Party Advisory)
- https://usn.ubuntu.com/4166-2/(Third Party Advisory)
- https://www.debian.org/security/2019/dsa-4552(Mailing List, Third Party Advisory)
- https://www.debian.org/security/2019/dsa-4553(Mailing List, Third Party Advisory)
- https://www.synology.com/security/advisory/Synology_SA_19_36(Third Party Advisory)
- https://www.tenable.com/security/tns-2021-14(Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2019-11043(US Government Resource)
Schwachstellentyp
CWE-120: Pufferüberlauf durch fehlende Größenprüfung bei Eingaben
CVE-2019-11043 wird unter CWE-120 klassifiziert und beschreibt Schwachstellen, bei denen Daten in einen Puffer kopiert werden, ohne zu überprüfen, ob die Datengröße die Pufferkapazität überschreitet. In PHP-FPM enthält der FCGI-Protokoll-Handler einen Buffer Overflow bei der Verarbeitung bestimmter Pfadinformationen, wodurch ein Angreifer angrenzenden Speicher überschreiben und Codeausführung erreichen kann.
Mehr erfahren: CWE-120 — Buffer Copy without Checking Size of Input
Auswirkungsanalyse
CVE-2019-11043 ermöglicht es nicht authentifizierten Remote-Angreifern, Codeausführung auf Webservern mit verwundbaren PHP-FPM-Konfigurationen und nginx zu erreichen. Der Angreifer kann beliebigen PHP-Code oder Systembefehle mit den Rechten des PHP-FPM-Worker-Prozesses ausführen, was zur vollständigen Kompromittierung der Webanwendung, zum Zugriff auf Datenbanken und Backend-Dienste, zum Lesen sensibler Konfigurationsdateien und zur Einrichtung persistenter Backdoors führen kann. Die Schwachstelle betrifft speziell nginx-Konfigurationen, die ein verbreitetes, aber unsicheres fastcgi_split_path_info-Direktiven-Muster verwenden. Der EPSS-Score von 97,4 % bestätigt die nahezu sichere Ausnutzung.
Exploit-Reifegrad
CVE-2019-11043 wurde von CISA als aktiv ausgenutzt bestätigt. Ein bekanntes öffentliches Exploit-Tool namens 'phuip-fpizdam' wurde kurz nach der Veröffentlichung bereitgestellt und macht die Ausnutzung trivial. Der Exploit wurde in mehrere Penetrationstest-Frameworks integriert und wird aktiv in automatisierten Scan-Kampagnen eingesetzt. Mit einem EPSS-Score von 97,4 % ist eine Ausnutzung nahezu sicher.
Behebung
- PHP aktualisieren: Aktualisieren Sie auf PHP 7.3.11, 7.2.24 oder spätere Versionen, die den Fix für CVE-2019-11043 enthalten.
- nginx-Konfiguration korrigieren: Überprüfen und aktualisieren Sie nginx-Konfigurationen, um das verwundbare fastcgi_split_path_info-Muster zu vermeiden. Stellen Sie sicher, dass die PATH_INFO-Variable ordnungsgemäß validiert wird.
- Pfadvalidierung in nginx hinzufügen: Fügen Sie eine
try_files-Direktive oder gleichwertige Validierung hinzu, um sicherzustellen, dass nur existierende PHP-Dateien verarbeitet werden. - Auf Ausnutzungsversuche überwachen: Überprüfen Sie Webserver-Zugriffsprotokolle auf ungewöhnliche URL-Muster mit manipulierten Pfadkomponenten.
- Web Application Firewall implementieren: Setzen Sie WAF-Regeln ein, um Anfragen mit Buffer-Overflow-Mustern zu erkennen und zu blockieren.
Technische Details
CVE-2019-11043 ist eine Buffer-Overflow-Schwachstelle im FCGI-Request-Handler von PHP-FPM. Die Schwachstelle wird in spezifischen nginx-Konfigurationen ausgelöst, bei denen die fastcgi_split_path_info-Direktive einen regulären Ausdruck verwendet, der zu einem leeren PATH_INFO-Wert führen kann. Wenn nginx diese manipulierte Anfrage an PHP-FPM weiterleitet, behandelt der FCGI-Protokoll-Handler die Pfadinformationen fehlerhaft, was zu einem Buffer Underflow führt. Durch sorgfältige URL-Manipulation kann ein Angreifer den internen Zustand von PHP-FPM manipulieren, um beliebigen PHP-Code in die Anfrageverarbeitung einzuschleusen.
Häufig gestellte Fragen
Wird CVE-2019-11043 aktiv ausgenutzt?
Ja. CISA hat die aktive Ausnutzung bestätigt, und ein öffentliches Exploit-Tool namens 'phuip-fpizdam' macht die Ausnutzung trivial. Der EPSS-Score von 97,4 % bestätigt die nahezu sichere Ausnutzung verwundbarer Konfigurationen.
Welche Produkte sind von CVE-2019-11043 betroffen?
CVE-2019-11043 betrifft PHP-FPM-Versionen vor 7.3.11 und 7.2.24 bei Verwendung mit nginx in spezifischen Konfigurationen, die die fastcgi_split_path_info-Direktive mit bestimmten Regex-Mustern verwenden.
Wie behebe ich CVE-2019-11043?
Aktualisieren Sie PHP auf Version 7.3.11, 7.2.24 oder höher. Überprüfen und korrigieren Sie zusätzlich die nginx-Konfiguration, um Pfade ordnungsgemäß zu validieren, beispielsweise durch Hinzufügen einer try_files-Direktive.
Wie schwerwiegend ist CVE-2019-11043?
CVE-2019-11043 ist eine kritische Remote-Code-Execution-Schwachstelle. Der nginx+PHP-FPM-Stack ist eine der häufigsten Webserver-Bereitstellungen, was die potenzielle Angriffsfläche extrem groß macht.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.