CRITICAL🇬🇧 English

CVE-2026-6722

Use-after-free w rozszerzeniu SOAP PHP umożliwiające RCE

CVSS 9.5v4.0pub. 2026-05-10upd. 2026-07-02

Podatność use-after-free (CWE-416) w rozszerzeniu SOAP interpretera PHP pozwala nieuwierzytelnionemu atakującemu na zdalne wykonanie kodu (RCE) poprzez spreparowane żądanie SOAP. Błąd dotyczy mechanizmu deduplikacji obiektów i jest oceniany jako krytyczny z wynikiem CVSS 9.5.

Pokaż oryginał (EN)

In PHP versions 8.2.* before 8.2.31, 8.3.* before 8.3.31, 8.4.* before 8.4.21, and 8.5.* before 8.5.6, the SOAP extension's object deduplication mechanism stores pointers to PHP objects in a global map without incrementing their reference counts. When an apache:Map node contains duplicate keys, processing the second entry overwrites the first in the temporary result map, freeing the original PHP object while its stale pointer remains in the map. A subsequent href reference to the freed node can copy the dangling pointer into the result. As PHP string allocations can reclaim the freed memory region, an attacker with control over the SOAP request body can exploit this use-after-free to achieve remote code execution.

🤖 Analiza AI
Jak działa

Mechanizm deduplikacji obiektów w rozszerzeniu SOAP przechowuje wskaźniki do obiektów PHP w globalnej mapie bez inkrementowania licznika referencji. Gdy węzeł apache:Map zawiera zduplikowane klucze, przetworzenie drugiego wpisu nadpisuje pierwszy w tymczasowej mapie wyników, co powoduje zwolnienie oryginalnego obiektu PHP, podczas gdy jego wskaźnik (dangling pointer) pozostaje w mapie. Kolejne odwołanie href do zwolnionego węzła kopiuje ten nieprawidłowy wskaźnik do wyniku. Ponieważ alokacje łańcuchów PHP mogą ponownie zajmować zwolniony obszar pamięci, atakujący kontrolujący treść żądania SOAP może doprowadzić do wykonania dowolnego kodu.

Skutki

Nieuwierzytelniony atakujący może uzyskać zdalne wykonanie kodu (RCE) na serwerze przetwarzającym złośliwe żądania SOAP, co może prowadzić do pełnego przejęcia kontroli nad systemem oraz zagrożenia dla poufności, integralności i dostępności danych.

Mitygacja

Należy jak najszybciej zaktualizować PHP do wersji 8.2.31, 8.3.31, 8.4.21 lub 8.5.6 (odpowiednio dla używanej gałęzi). Do czasu wdrożenia patcha warto rozważyć wyłączenie rozszerzenia SOAP (jeśli nie jest niezbędne) lub ograniczenie dostępu do endpointów SOAP na poziomie firewall.

Kogo dotyczy

PHP w wersjach 8.2.x przed 8.2.31, 8.3.x przed 8.3.31, 8.4.x przed 8.4.21 oraz 8.5.x przed 8.5.6 — dotyczy instalacji z włączonym rozszerzeniem SOAP.

Uwagi

Szczegóły techniczne podatności zostały opublikowane w ramach GitHub Security Advisory GHSA-85c2-q967-79q5 dla repozytorium php/php-src.

CVSS Vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:Y/R:X/V:X/RE:M/U:Red
  • PHP

    APP
    Php
    8.2.0 – 8.2.31 (bez)8.3.0 – 8.3.31 (bez)8.4.0 – 8.4.21 (bez)8.5.0 – 8.5.6 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEMemory
CWE
Referencje

Powiązane podatności

CVE-2024-4577CRITICAL9.8⚠ KEVPL ✓ten sam produkt

PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit

CVE-2012-1823CRITICAL9.8⚠ KEVten sam produkt

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi)...

CVE-2024-11235CRITICAL9.2PL ✓ten sam produkt

PHP use-after-free przez __set lub ??= z wyjątkami — RCE

CVE-2022-31631CRITICAL9.1PL ✓ten sam produkt

PHP PDO SQLite — błędne cytowanie ciągów prowadzące do SQL injection

CVE-2024-11236CRITICAL9.8PL ✓ten sam produkt

PHP: integer overflow w ldap_escape() prowadzący do out-of-bounds write