NULL pointer dereference in SOAP apache:Map decoder with missing <value>

Kurzinfo

Metadaten

  • Original (extern): Link oeffnen
  • Veroeffentlicht: 2026-05-07 12:57 UTC
  • Importiert: 2026-10-07 06:38 UTC
  • CVSS: 7.5
  • Quelle-ID: php_sec
  • uid_hash: 2a514332d6a819fa3e638e5610beca7e0bfb1b9bb92465723423d880d54eff60

Inhalt

to_zval_map() in ext/soap/php_encoding.c decodes apache:Map nodes. The branch correctly guards against missing keys, but the branch rechecks xmlKey instead of xmlValue:

https://github.com/php/php-src/blob/0d9ff00394d9447992bb66ccb1cef3edf70576bd/ext/soap/php_encoding.c#L2780-L2788

In addition, master_to_zval_int() accesses data->properties without a NULL check, where data corresponds to the missing node. This branch is reachable when `SOAP_GLOBAL(typemap)` is set, i.e. when the SOAP server has a typemap configured. By embedding an `apache:Map` node with a missing node into the request, the process will segfault with a NULL pointer dereference violation. Under the described circumstances, DoS becomes trivial with the following example:

$request = <<

foo

XML;

$server = new SoapServer(null, [
    'uri' => 'urn:test',
    'typemap' => [['type_name' => 'anything']],
]);
$server->addFunction('test');
function test($m) {}
$server->handle($request);

Verknuepfte CVEs

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

CVE-2026-7262

HIGH

7.5

HIGH

7.5

2026-05-10

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