Failure to setup TLS with a remote server can result in a remote DoS

Kurzinfo

Metadaten

  • Original (extern): Link oeffnen
  • Veroeffentlicht: 2026-07-02 17:01 UTC
  • Importiert: 2026-10-07 06:38 UTC
  • Quelle-ID: php_sec
  • uid_hash: 24f8603e3716c261c07bc28854de1086bde94ac95192cfc46c8d7df974cd7c6e

Inhalt

Summary

In php_stream_url_wrap_http_ex, when TLS crypto setup fails (via php_stream_xport_crypto_setup or php_stream_xport_crypto_enable), the stream is closed and reset to NULL. However, the subsequent peer name cleanup block unconditionally tries to reset the peer name. This is triggerable via a failure to validate the peer name or an expired certificate.

As demonstrated by https://github.com/php/php-src/issues/21468 this is triggerable without requiring specially-crafted code, and with a remote server.

Details

Patch available via https://github.com/php/php-src/pull/21031

Impact

The impact is a remotely-triggerable DoS bringing the entire fpm process down with all its workers.

Additional Information

This was first discovered by a hybrid static-dynamic analyzer I'm developing.

Verknuepfte CVEs

CVE-ID Severity (Quelle) CVSS (Quelle) Severity (CVE.org) CVSS (CVE.org) EPSS EPSS-Pctl Veroeffentlicht (CVE.org)

CVE-2026-12184

HIGH

Quellen-Details

Bezeichnung Name Kategorie Tags Zielgruppe Sprache Feed-URL
PHP Security (php/php-src GHSA)

php_sec

vendor_advisory php, runtime - de https://github.com/php/php-src/security/advisories