Cloudanix VulnDB

CVE-2024-11234

High · 7.2

CVSS

7.2

EPSS

1.1%

Published

Nov 24, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in certain PHP versions lets attackers trick the server into making web requests it should not, potentially reaching private systems.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Exposure
Component
Library
Class
SSRF
Remediation
Upgrade
Effort
Low
Patch risk
Low

What it actually does

Improper URI sanitization in PHP stream wrappers when proxy and request_fulluri are enabled allows crafted URIs to perform HTTP request smuggling, enabling the server to issue arbitrary HTTP requests to internal or external targets via the configured proxy.

Why it matters to the business

Attackers may reach internal resources or services that are normally inaccessible from outside the network, increasing risk of data exposure or unauthorized actions; low EPSS and no KEV listing indicate limited observed exploitation but patching remains important given wide PHP usage.

How an attack unfolds

An attacker supplies a malicious URI containing smuggling sequences to a PHP application using streams with an outbound proxy and request_fulluri enabled; the unsanitized URI causes the proxy to forward attacker-controlled requests that appear to originate from the server, bypassing access controls.

How to fix it

Upgrade PHP to 8.1.31 or later, 8.2.26 or later, or 8.3.14 or later. For php/php-src apply commit 38123aca18c3c1bd1f109ec77af2f175d7afcf35. Review and disable request_fulluri where possible or enforce strict URI allow-lists.

How to confirm the fix worked

Confirm PHP version is at or above the fixed releases; test stream proxy behavior with a known smuggling URI to verify requests are rejected or sanitized; audit configuration files for request_fulluri settings.

Typical attack path

  1. Identify PHP application using stream contexts with proxy and request_fulluri set
  2. Craft URI containing HTTP request smuggling payload targeting internal endpoints
  3. Trigger the vulnerable stream operation from the application
  4. Proxy forwards the smuggled request, granting access to protected resources

How to detect it

Review web server and application logs for unusual URIs containing smuggling patterns or unexpected proxy destinations; inspect PHP stream context configurations for request_fulluri usage; correlate with proxy logs for requests that appear to originate internally but target restricted resources.

What your security team should do

  • Apply the listed PHP version upgrades immediately on all affected systems
  • Scan codebases for use of stream contexts with proxy and request_fulluri
  • Implement network controls to limit proxy destinations to approved targets
  • Monitor for unusual outbound requests originating from web servers

The record

In PHP versions 8.1.* before 8.1.31, 8.2.* before 8.2.26, 8.3.* before 8.3.14, when using streams with configured proxy and "request_fulluri" option, the URI is not properly sanitized which can lead to HTTP request smuggling and allow the attacker to use the proxy to perform arbitrary HTTP requests originating from the server, thus potentially gaining access to resources not normally available to the external user.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 apcu-panel 0 5.1.23-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 libzip 0 1.7.3-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 libzip-devel 0 1.7.3-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 libzip-tools 0 1.7.3-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-bcmath 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-cli 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-common 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-dba 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-dbg 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-devel 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-embedded 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-enchant 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-ffi 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-fpm 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-gd 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-gmp 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-intl 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-ldap 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-mbstring 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-mysqlnd 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-odbc 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-opcache 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-pdo 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-pear 0 1:1.10.14-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php-pecl-apcu 0 5.1.23-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php-pecl-apcu-devel 0 5.1.23-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php-pecl-rrd 0 2.0.3-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php-pecl-xdebug3 0 3.2.2-2.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php-pecl-zip 0 1.22.3-1.module_el8.10.0+3796+30ed3ef7
AlmaLinux:8 php-pgsql 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-process 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-snmp 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-soap 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:8 php-xml 0 8.2.28-1.module_el8.10.0+4046+958a243a
AlmaLinux:9 apcu-panel 0 5.1.21-1.module_el9.1.0+15+94ba28e4
AlmaLinux:9 apcu-panel 0 5.1.23-1.module_el9.4.0+65+49ff6472
AlmaLinux:9 php 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-bcmath 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-bcmath 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-cli 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-cli 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-common 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-common 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-dba 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-dba 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-dbg 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-dbg 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-devel 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-devel 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-embedded 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-embedded 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-enchant 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-enchant 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-ffi 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-ffi 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-fpm 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-fpm 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-gd 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-gd 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-gmp 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-gmp 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-intl 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-intl 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-ldap 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-ldap 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-mbstring 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-mbstring 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-mysqlnd 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-mysqlnd 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-odbc 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-odbc 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-opcache 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-opcache 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-pdo 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-pdo 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-pecl-apcu 0 5.1.21-1.module_el9.1.0+15+94ba28e4
AlmaLinux:9 php-pecl-apcu 0 5.1.23-1.module_el9.4.0+65+49ff6472
AlmaLinux:9 php-pecl-apcu-devel 0 5.1.21-1.module_el9.1.0+15+94ba28e4
AlmaLinux:9 php-pecl-apcu-devel 0 5.1.23-1.module_el9.4.0+65+49ff6472
AlmaLinux:9 php-pecl-rrd 0 2.0.3-4.module_el9.1.0+15+94ba28e4
AlmaLinux:9 php-pecl-rrd 0 2.0.3-4.module_el9.4.0+65+49ff6472
AlmaLinux:9 php-pecl-xdebug3 0 3.1.4-1.module_el9.1.0+15+94ba28e4
AlmaLinux:9 php-pecl-xdebug3 0 3.2.2-2.module_el9.4.0+65+49ff6472
AlmaLinux:9 php-pecl-zip 0 1.20.1-1.module_el9.1.0+15+94ba28e4
AlmaLinux:9 php-pecl-zip 0 1.22.3-1.module_el9.4.0+65+49ff6472
AlmaLinux:9 php-pgsql 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-pgsql 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-process 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-process 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-snmp 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-snmp 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-soap 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-soap 0 8.2.28-1.module_el9.6.0+165+cf879a7c
AlmaLinux:9 php-xml 0 8.1.32-1.module_el9.5.0+156+9f1cd3fd
AlmaLinux:9 php-xml 0 8.2.28-1.module_el9.6.0+165+cf879a7c
Bitnami libphp 0 8.1.31
Bitnami php 0 8.1.31
Bitnami php 8.1.0 8.1.31
Bitnami php-min 0 8.1.31
Bitnami php-min 8.1.0 8.1.31
Chainguard php-8.1 0 8.1.31-r0
Chainguard php-8.1-apache 0 8.1.31-r0
Chainguard php-8.1-bcmath 0 8.1.31-r0
Chainguard php-8.1-bcmath-config 0 8.1.31-r0
Chainguard php-8.1-bz2 0 8.1.31-r0
Chainguard php-8.1-bz2-config 0 8.1.31-r0
Chainguard php-8.1-calendar 0 8.1.31-r0
Chainguard php-8.1-calendar-config 0 8.1.31-r0
Chainguard php-8.1-cgi 0 8.1.31-r0
Chainguard php-8.1-config 0 8.1.31-r0
Chainguard php-8.1-ctype 0 8.1.31-r0
Chainguard php-8.1-ctype-config 0 8.1.31-r0
Chainguard php-8.1-curl 0 8.1.31-r0
Chainguard php-8.1-curl-config 0 8.1.31-r0
Chainguard php-8.1-dbg 0 8.1.31-r0
Chainguard php-8.1-dev 0 8.1.31-r0
Chainguard php-8.1-doc 0 8.1.31-r0
Chainguard php-8.1-dom 0 8.1.31-r0
Chainguard php-8.1-dom-config 0 8.1.31-r0
Chainguard php-8.1-exif 0 8.1.31-r0
Chainguard php-8.1-exif-config 0 8.1.31-r0
Chainguard php-8.1-fileinfo 0 8.1.31-r0
Chainguard php-8.1-fileinfo-config 0 8.1.31-r0
Chainguard php-8.1-fpm 0 8.1.31-r0
Chainguard php-8.1-fpm-config 0 8.1.31-r0
Chainguard php-8.1-ftp 0 8.1.31-r0
Chainguard php-8.1-ftp-config 0 8.1.31-r0
Chainguard php-8.1-gd 0 8.1.31-r0
Chainguard php-8.1-gd-config 0 8.1.31-r0
Chainguard php-8.1-gettext 0 8.1.31-r0
Chainguard php-8.1-gettext-config 0 8.1.31-r0
Chainguard php-8.1-gmp 0 8.1.31-r0
Chainguard php-8.1-gmp-config 0 8.1.31-r0
Chainguard php-8.1-iconv 0 8.1.31-r0
Chainguard php-8.1-iconv-config 0 8.1.31-r0
Chainguard php-8.1-intl 0 8.1.31-r0
Chainguard php-8.1-intl-config 0 8.1.31-r0
Chainguard php-8.1-ldap 0 8.1.31-r0
Chainguard php-8.1-ldap-config 0 8.1.31-r0
Chainguard php-8.1-mbstring 0 8.1.31-r0
Chainguard php-8.1-mbstring-config 0 8.1.31-r0
Chainguard php-8.1-mysqli 0 8.1.31-r0
Chainguard php-8.1-mysqli-config 0 8.1.31-r0
Chainguard php-8.1-mysqlnd 0 8.1.31-r0
Chainguard php-8.1-mysqlnd-config 0 8.1.31-r0
Chainguard php-8.1-odbc 0 8.1.31-r0
Chainguard php-8.1-odbc-config 0 8.1.31-r0
Chainguard php-8.1-opcache 0 8.1.31-r0
Chainguard php-8.1-opcache-config 0 8.1.31-r0
Chainguard php-8.1-openssl 0 8.1.31-r0
Chainguard php-8.1-openssl-config 0 8.1.31-r0
Chainguard php-8.1-pcntl 0 8.1.31-r0
Chainguard php-8.1-pcntl-config 0 8.1.31-r0
Chainguard php-8.1-pdo 0 8.1.31-r0
Chainguard php-8.1-pdo-config 0 8.1.31-r0
Chainguard php-8.1-pdo_dblib 0 8.1.31-r0
Chainguard php-8.1-pdo_dblib-config 0 8.1.31-r0
Chainguard php-8.1-pdo_mysql 0 8.1.31-r0
Chainguard php-8.1-pdo_mysql-config 0 8.1.31-r0
Chainguard php-8.1-pdo_odbc 0 8.1.31-r0
Chainguard php-8.1-pdo_odbc-config 0 8.1.31-r0
Chainguard php-8.1-pdo_pgsql 0 8.1.31-r0
Chainguard php-8.1-pdo_pgsql-config 0 8.1.31-r0
Chainguard php-8.1-pdo_sqlite 0 8.1.31-r0
Chainguard php-8.1-pdo_sqlite-config 0 8.1.31-r0
Chainguard php-8.1-pear 0 8.1.31-r0
Chainguard php-8.1-pgsql 0 8.1.31-r0
Chainguard php-8.1-pgsql-config 0 8.1.31-r0
Chainguard php-8.1-phar 0 8.1.31-r0
Chainguard php-8.1-phar-config 0 8.1.31-r0
Chainguard php-8.1-posix 0 8.1.31-r0
Chainguard php-8.1-posix-config 0 8.1.31-r0
Chainguard php-8.1-simplexml 0 8.1.31-r0
Chainguard php-8.1-simplexml-config 0 8.1.31-r0
Chainguard php-8.1-soap 0 8.1.31-r0
Chainguard php-8.1-soap-config 0 8.1.31-r0
Chainguard php-8.1-sockets 0 8.1.31-r0
Chainguard php-8.1-sockets-config 0 8.1.31-r0
Chainguard php-8.1-sodium 0 8.1.31-r0
Chainguard php-8.1-sodium-config 0 8.1.31-r0
Chainguard php-8.1-sysvsem 0 8.1.31-r0
Chainguard php-8.1-sysvsem-config 0 8.1.31-r0
Chainguard php-8.1-sysvshm 0 8.1.31-r0
Chainguard php-8.1-sysvshm-config 0 8.1.31-r0
Chainguard php-8.1-xml 0 8.1.31-r0
Chainguard php-8.1-xml-config 0 8.1.31-r0
Chainguard php-8.1-xmlreader 0 8.1.31-r0
Chainguard php-8.1-xmlreader-config 0 8.1.31-r0
Chainguard php-8.1-xmlwriter 0 8.1.31-r0
Chainguard php-8.1-xmlwriter-config 0 8.1.31-r0
Chainguard php-8.1-xsl 0 8.1.31-r0
Chainguard php-8.1-xsl-config 0 8.1.31-r0
Chainguard php-8.1-zip 0 8.1.31-r0
Chainguard php-8.1-zip-config 0 8.1.31-r0
Chainguard php-8.2 0 8.2.26-r0
Chainguard php-8.2-apache 0 8.2.26-r0
Chainguard php-8.2-bcmath 0 8.2.26-r0
Chainguard php-8.2-bcmath-config 0 8.2.26-r0

Related vulnerabilities