PHP PHP Web programming language

Don't miss out!

Thousands of developers use stack.watch to stay informed.
Get an email whenever new security vulnerabilities are reported in PHP.

Recent PHP Security Advisories

Advisory Title Published
8.2.28 5 Vulnerabilities Fixed in PHP 8.2.28 March 13, 2025
8.1.32 5 Vulnerabilities Fixed in PHP 8.1.32 March 13, 2025
8.4.5 6 Vulnerabilities Fixed in PHP 8.4.5 March 13, 2025
8.3.19 6 Vulnerabilities Fixed in PHP 8.3.19 March 13, 2025
8.1.31 6 Vulnerabilities Fixed in PHP 8.1.31 November 21, 2024
8.3.14 6 Vulnerabilities Fixed in PHP 8.3.14 November 21, 2024
8.2.26 6 Vulnerabilities Fixed in PHP 8.2.26 November 21, 2024
8.1.30 4 Vulnerabilities Fixed in PHP 8.1.30 September 26, 2024
8.3.12 4 Vulnerabilities Fixed in PHP 8.3.12 September 26, 2024
8.2.24 4 Vulnerabilities Fixed in PHP 8.2.24 September 26, 2024

Known Exploited PHP Vulnerabilities

The following PHP vulnerabilities have been marked by CISA as Known to be Exploited by threat actors.

Title Description Added
PHP-CGI Query String Parameter Vulnerability sapi/cgi/cgi_main.c in PHP, when configured as a CGI script, does not properly handle query strings, which allows remote attackers to execute arbitrary code.
CVE-2012-1823 Exploit Probability: 94.4%
March 25, 2022

The vulnerability CVE-2012-1823: PHP-CGI Query String Parameter Vulnerability is in the top 1% of the currently known exploitable vulnerabilities.

PHP EOL Dates

Ensure that you are using a supported version of PHP. Here are some end of life, and end of support dates for PHP.

Release EOL End of Support Status
8.4 December 31, 2028 December 31, 2026
Active

PHP 8.4 will become EOL in 3 years (in 2028).

8.3 December 31, 2027 December 31, 2025
Active

PHP 8.3 will become EOL in two years (in 2027).

8.2 December 31, 2026 December 31, 2024
Active

PHP 8.2 will become EOL next year, in December 2026.

8.1 December 31, 2025 November 25, 2023
EOL This Year

PHP 8.1 will become EOL this year, in December 2025.

8.0 November 26, 2023 November 26, 2022
EOL

PHP 8.0 became EOL in 2023 and supported ended in 2022

7.4 November 28, 2022 November 28, 2021
EOL

PHP 7.4 became EOL in 2022 and supported ended in 2021

7.3 December 6, 2021 December 6, 2020
EOL

PHP 7.3 became EOL in 2021 and supported ended in 2020

7.2 November 30, 2020 November 30, 2019
EOL

PHP 7.2 became EOL in 2020 and supported ended in 2019

7.1 December 1, 2019 December 1, 2018
EOL

PHP 7.1 became EOL in 2019 and supported ended in 2018

7.0 January 10, 2019 January 4, 2018
EOL

PHP 7.0 became EOL in 2019 and supported ended in 2018

5.6 December 31, 2018 January 19, 2017
EOL

PHP 5.6 became EOL in 2018 and supported ended in 2017

5.5 July 21, 2016 July 10, 2015
EOL

PHP 5.5 became EOL in 2016 and supported ended in 2015

5.4 September 14, 2015 September 14, 2014
EOL

PHP 5.4 became EOL in 2015 and supported ended in 2014

5.3 August 14, 2014 June 30, 2011
EOL

PHP 5.3 became EOL in 2014 and supported ended in 2011

5.2 January 6, 2011 November 2, 2008
EOL

PHP 5.2 became EOL in 2011 and supported ended in 2008

5.1 August 24, 2006 August 24, 2006
EOL

PHP 5.1 became EOL in 2006 and supported ended in 2006

5.0 September 5, 2005 September 5, 2005
EOL

PHP 5.0 became EOL in 2005 and supported ended in 2005

By the Year

In 2025 there have been 6 vulnerabilities in PHP with an average score of 5.5 out of ten. Last year, in 2024 PHP had 18 security vulnerabilities published. Right now, PHP is on track to have less security vulnerabilities in 2025 than it did last year. Last year, the average CVE base score was greater by 1.76




Year Vulnerabilities Average Score
2025 6 5.50
2024 18 7.26
2023 7 6.99
2022 8 8.18
2021 6 6.05
2020 14 6.50
2019 30 8.07
2018 21 7.43

It may take a day or so for new PHP vulnerabilities to show up in the stats or in the list of recent security vulnerabilties. Additionally vulnerabilities may be tagged under a different product or component name.

Recent PHP Security Vulnerabilities

In PHP versions 8.3.* before 8.3.19 and 8.4.* before 8.4.5,

CVE-2024-11235 8.1 - High - April 04, 2025

In PHP versions 8.3.* before 8.3.19 and 8.4.* before 8.4.5, a code sequence involving __set handler or ??=  operator and exceptions can lead to a use-after-free vulnerability. If the third party can control the memory layout leading to this, for example by supplying specially crafted inputs to the script, it could lead to remote code execution.

Dangling pointer

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, f

CVE-2025-1734 - March 30, 2025

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, from 8.3.* before 8.3.19, from 8.4.* before 8.4.5, when receiving headers from HTTP server, the headers missing a colon (:) are treated as valid headers even though they are not. This may confuse applications into accepting invalid headers.

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, f

CVE-2025-1861 - March 30, 2025

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, from 8.3.* before 8.3.19, from 8.4.* before 8.4.5, when parsing HTTP redirect in the response to an HTTP request, there is currently limit on the location value size caused by limited size of the location buffer to 1024. However as per RFC9110, the limit is recommended to be 8000. This may lead to incorrect URL truncation and redirecting to a wrong location.

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, f

CVE-2025-1219 5.3 - Medium - March 30, 2025

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, from 8.3.* before 8.3.19, from 8.4.* before 8.4.5, when requesting a HTTP resource using the DOM or SimpleXML extensions, the wrong content-type header is used to determine the charset when the requested resource performs a redirect. This may cause the resulting document to be parsed incorrectly or bypass validations.

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, f

CVE-2025-1736 - March 30, 2025

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, from 8.3.* before 8.3.19, from 8.4.* before 8.4.5, when user-supplied headers are sent, the insufficient validation of the end-of-line characters may prevent certain headers from being sent or lead to certain headers be misinterpreted.

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, f

CVE-2025-1217 3.1 - Low - March 29, 2025

In PHP from 8.1.* before 8.1.32, from 8.2.* before 8.2.28, from 8.3.* before 8.3.19, from 8.4.* before 8.4.5, when http request module parses HTTP response obtained from a server, folded headers are parsed incorrectly, which may lead to misinterpreting the response and using incorrect headers, MIME types, etc.

Interpretation Conflict

PHP convert.quoted-printable-decode Filter Buffer Overread Vulnerability

CVE-2024-11233 8.2 - High - November 24, 2024

In PHP versions 8.1.* before 8.1.31, 8.2.* before 8.2.26, 8.3.* before 8.3.14, due to an error in convert.quoted-printable-decode filter certain data can lead to buffer overread by one byte, which can in certain circumstances lead to crashes or disclose content of other memory areas.

Memory Corruption

PHP ldap_escape() Integer Overflow Vulnerability on 32-bit Systems

CVE-2024-11236 9.8 - Critical - November 24, 2024

In PHP versions 8.1.* before 8.1.31, 8.2.* before 8.2.26, 8.3.* before 8.3.14, uncontrolled long string inputs to ldap_escape() function on 32-bit systems can cause an integer overflow, resulting in an out-of-bounds write.

Integer Overflow or Wraparound

PHP Stream Proxy Request Smuggling Vulnerability

CVE-2024-11234 7.2 - High - November 24, 2024

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.

Injection

PHP MySQL Client Heap Disclosure Vulnerability

CVE-2024-8929 - November 22, 2024

In PHP versions 8.1.* before 8.1.31, 8.2.* before 8.2.26, 8.3.* before 8.3.14, a hostile MySQL server can cause the client to disclose the content of its heap containing data from other SQL requests and possible other data belonging to different users of the same server.

PHP ldap_escape() Integer Overflow Vulnerability on 32-bit Systems

CVE-2024-8932 - November 22, 2024

In PHP versions 8.1.* before 8.1.31, 8.2.* before 8.2.26, 8.3.* before 8.3.14, uncontrolled long string inputs to ldap_escape() function on 32-bit systems can cause an integer overflow, resulting in an out-of-bounds write.

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.

CVE-2024-8926 8.8 - High - October 08, 2024

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.3.* before 8.3.12, when using a certain non-standard configurations of Windows codepages, the fixes for  CVE-2024-4577 https://github.com/advisories/GHSA-vxpp-6299-mxw3  may still be bypassed and the same command injection related to Windows "Best Fit" codepage behavior can be achieved. This may allow a malicious user to pass options to PHP binary being run, and thus reveal the source code of scripts, run arbitrary PHP code on the server, etc.

Shell injection

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.

CVE-2024-8927 7.5 - High - October 08, 2024

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.3.* before 8.3.12, HTTP_REDIRECT_STATUS variable is used to check whether or not CGI binary is being run by the HTTP server. However, in certain scenarios, the content of this variable can be controlled by the request submitter via HTTP headers, which can lead to cgi.force_redirect option not being correctly applied. In certain configurations this may lead to arbitrary file inclusion in PHP.

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.

CVE-2024-9026 3.3 - Low - October 08, 2024

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.3.* before 8.3.12, when using PHP-FPM SAPI and it is configured to catch workers output through catch_workers_output = yes, it may be possible to pollute the final log or remove up to 4 characters from the log messages by manipulating log message content. Additionally, if PHP-FPM is configured to use syslog output, it may be possible to further remove log data using the same vulnerability.

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.

CVE-2024-8925 5.3 - Medium - October 08, 2024

In PHP versions 8.1.* before 8.1.30, 8.2.* before 8.2.24, 8.3.* before 8.3.12, erroneous parsing of multipart form data contained in an HTTP POST request could lead to legitimate data not being processed. This could lead to malicious attacker able to control part of the submitted data being able to exclude portion of other data, potentially leading to erroneous application behavior.

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.

CVE-2024-4577 9.8 - Critical - June 09, 2024

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, when using Apache and PHP-CGI on Windows, if the system is set up to use certain code pages, Windows may use "Best-Fit" behavior to replace characters in command line given to Win32 API functions. PHP CGI module may misinterpret those characters as PHP options, which may allow a malicious user to pass options to PHP binary being run, and thus reveal the source code of scripts, run arbitrary PHP code on the server, etc.

Shell injection

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version

CVE-2024-2408 5.9 - Medium - June 09, 2024

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable. PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Side Channel Attack

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.

CVE-2024-5458 5.3 - Medium - June 09, 2024

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, due to a code logic error, filtering functions such as filter_var when validating URLs (FILTER_VALIDATE_URL) for certain types of URLs the function will result in invalid user information (username + password part of URLs) being treated as valid user information. This may lead to the downstream code accepting invalid URLs as valid and parsing them incorrectly.

Insufficient Verification of Data Authenticity

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.

CVE-2024-5585 8.8 - High - June 09, 2024

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, the fix for CVE-2024-1874 does not work if the command name includes trailing spaces. Original issue: when using proc_open() command with array syntax, due to insufficient escaping, if the arguments of the executed command are controlled by a malicious user, the user can supply arguments that would execute arbitrary commands in Windows shell.

Output Sanitization

In PHP versions 8.1.* before 8.1.28, 8.2.* before 8.2.18, 8.

CVE-2024-1874 - April 29, 2024

In PHP versions 8.1.* before 8.1.28, 8.2.* before 8.2.18, 8.3.* before 8.3.5, when using proc_open() command with array syntax, due to insufficient escaping, if the arguments of the executed command are controlled by a malicious user, the user can supply arguments that would execute arbitrary commands in Windows shell.

Due to an incomplete fix to CVE-2022-31629 https://github.com/advisories/GHSA-c43m-486j-j32p , network and same-site attackers can set a standard insecure cookie in the victim's browser

CVE-2024-2756 - April 29, 2024

Due to an incomplete fix to CVE-2022-31629 https://github.com/advisories/GHSA-c43m-486j-j32p , network and same-site attackers can set a standard insecure cookie in the victim's browser which is treated as a __Host- or __Secure- cookie by PHP applications.

In PHP  version 8.1.* before 8.1.28, 8.2.* before 8.2.18, 8.

CVE-2024-3096 - April 29, 2024

In PHP  version 8.1.* before 8.1.28, 8.2.* before 8.2.18, 8.3.* before 8.3.5, if a password stored with password_hash() starts with a null byte (\x00), testing a blank string as the password via password_verify() will incorrectly return true.

In PHP 8.3.* before 8.3.5, function mb_encode_mimeheader() r

CVE-2024-2757 - April 29, 2024

In PHP 8.3.* before 8.3.5, function mb_encode_mimeheader() runs endlessly for some inputs that contain long strings of non-space characters followed by a space. This could lead to a potential DoS attack if a hostile user sends data to an application that uses this function.

A command inject vulnerability allows an attacker to perform command injection on Windows applications

CVE-2024-3566 - April 10, 2024

A command inject vulnerability allows an attacker to perform command injection on Windows applications that indirectly depend on the CreateProcess function when the specific conditions are satisfied.

Command Injection

A vulnerability was found in PHP where setting the environment variable PHP_CLI_SERVER_WORKERS to a large value leads to a heap buffer overflow.

CVE-2022-4900 5.5 - Medium - November 02, 2023

A vulnerability was found in PHP where setting the environment variable PHP_CLI_SERVER_WORKERS to a large value leads to a heap buffer overflow.

Memory Corruption

In PHP version 8.0.* before 8.0.30,  8.1.* before 8.1.22, an

CVE-2023-3824 9.8 - Critical - August 11, 2023

In PHP version 8.0.* before 8.0.30,  8.1.* before 8.1.22, and 8.2.* before 8.2.8, when loading phar file, while reading PHAR directory entries, insufficient length checking may lead to a stack buffer overflow, leading potentially to memory corruption or RCE.

Buffer Overflow

In PHP versions 8.0.* before 8.0.30, 8.1.* before 8.1.22, an

CVE-2023-3823 7.5 - High - August 11, 2023

In PHP versions 8.0.* before 8.0.30, 8.1.* before 8.1.22, and 8.2.* before 8.2.8 various XML functions rely on libxml global state to track configuration variables, like whether external entities are loaded. This state is assumed to be unchanged unless the user explicitly changes it by calling appropriate function. However, since the state is process-global, other modules - such as ImageMagick - may also use this library within the same process, and change that global state for their internal purposes, and leave it in a state where external entities loading is enabled. This can lead to the situation where external XML is parsed with external entities loaded, which can lead to disclosure of any local files accessible to PHP. This vulnerable state may persist in the same process across many requests, until the process is shut down.

XXE

In PHP versions 8.0.* before 8.0.29, 8.1.* before 8.1.20, 8.

CVE-2023-3247 4.3 - Medium - July 22, 2023

In PHP versions 8.0.* before 8.0.29, 8.1.* before 8.1.20, 8.2.* before 8.2.7 when using SOAP HTTP Digest Authentication, random value generator was not checked for failure, and was using narrower range of values than it should have. In case of random generator failure, it could lead to a disclosure of 31 bits of uninitialized memory from the client to the server, and it also made easier to a malicious server to guess the client's nonce. 

Use of Insufficiently Random Values

In PHP 8.0.X before 8.0.28

CVE-2023-0567 6.2 - Medium - March 01, 2023

In PHP 8.0.X before 8.0.28, 8.1.X before 8.1.16 and 8.2.X before 8.2.3, password_verify() function may accept some invalid Blowfish hashes as valid. If such invalid hash ever ends up in the password database, it may lead to an application allowing any password for this entry as valid. 

Use of Password Hash With Insufficient Computational Effort

In PHP 8.0.X before 8.0.28, 8.1.X before 8.1.16 and 8.2.X before 8.2.3, excessive number of parts in HTTP form upload

CVE-2023-0662 7.5 - High - February 16, 2023

In PHP 8.0.X before 8.0.28, 8.1.X before 8.1.16 and 8.2.X before 8.2.3, excessive number of parts in HTTP form upload can cause high resource consumption and excessive number of log entries. This can cause denial of service on the affected server by exhausting CPU resources or disk space.

Resource Exhaustion

In PHP 8.0.X before 8.0.28, 8.1.X before 8.1.16 and 8.2.X before 8.2.3, core path resolution function allocate buffer one byte too small

CVE-2023-0568 8.1 - High - February 16, 2023

In PHP 8.0.X before 8.0.28, 8.1.X before 8.1.16 and 8.2.X before 8.2.3, core path resolution function allocate buffer one byte too small. When resolving paths with lengths close to system MAXPATHLEN setting, this may lead to the byte after the allocated buffer being overwritten with NUL value, which might lead to unauthorized data access or modification.

Allocation of Resources Without Limits or Throttling

In PHP versions prior to 7.4.33

CVE-2022-31630 7.1 - High - November 14, 2022

In PHP versions prior to 7.4.33, 8.0.25 and 8.1.12, when using imageloadfont() function in gd extension, it is possible to supply a specially crafted font file, such as if the loaded font is used with imagechar() function, the read outside allocated buffer will be used. This can lead to crashes or disclosure of confidential information. 

Out-of-bounds Read

The Keccak XKCP SHA-3 reference implementation before fdc6fef has an integer overflow and resultant buffer overflow

CVE-2022-37454 9.8 - Critical - October 21, 2022

The Keccak XKCP SHA-3 reference implementation before fdc6fef has an integer overflow and resultant buffer overflow that allows attackers to execute arbitrary code or eliminate expected cryptographic properties. This occurs in the sponge function interface.

Integer Overflow or Wraparound

In PHP versions before 7.4.31, 8.0.24 and 8.1.11, the vulnerability enables network and same-site attackers to set a standard insecure cookie in the victim's browser

CVE-2022-31629 6.5 - Medium - September 28, 2022

In PHP versions before 7.4.31, 8.0.24 and 8.1.11, the vulnerability enables network and same-site attackers to set a standard insecure cookie in the victim's browser which is treated as a `__Host-` or `__Secure-` cookie by PHP applications.

In PHP versions before 7.4.31, 8.0.24 and 8.1.11, the phar uncompressor code

CVE-2022-31628 5.5 - Medium - September 28, 2022

In PHP versions before 7.4.31, 8.0.24 and 8.1.11, the phar uncompressor code would recursively uncompress "quines" gzip files, resulting in an infinite loop.

Infinite Loop

In PHP versions 8.1.x below 8.1.8, when fileinfo functions, such as finfo_buffer, due to incorrect patch applied to the third party code

CVE-2022-31627 9.8 - Critical - July 28, 2022

In PHP versions 8.1.x below 8.1.8, when fileinfo functions, such as finfo_buffer, due to incorrect patch applied to the third party code from libmagic, incorrect function may be used to free allocated memory, which may lead to heap corruption.

Memory Corruption

In PHP versions 7.4.x below 7.4.30

CVE-2022-31625 8.1 - High - June 16, 2022

In PHP versions 7.4.x below 7.4.30, 8.0.x below 8.0.20, and 8.1.x below 8.1.7, when using Postgres database extension, supplying invalid parameters to the parametrized query may lead to PHP attempting to free memory using uninitialized data as pointers. This could lead to RCE vulnerability or denial of service.

Release of Invalid Pointer or Reference

In PHP versions 7.4.x below 7.4.30, 8.0.x below 8.0.20, and 8.1.x below 8.1.7, when pdo_mysql extension with mysqlnd driver, if the third party is

CVE-2022-31626 8.8 - High - June 16, 2022

In PHP versions 7.4.x below 7.4.30, 8.0.x below 8.0.20, and 8.1.x below 8.1.7, when pdo_mysql extension with mysqlnd driver, if the third party is allowed to supply host to connect to and the password for the connection, password of excessive length can trigger a buffer overflow in PHP, which can lead to a remote code execution vulnerability.

Classic Buffer Overflow

In PHP versions 7.4.x below 7.4.28, 8.0.x below 8.0.16, and 8.1.x below 8.1.3, when using filter functions with FILTER_VALIDATE_FLOAT filter and min/max limits, if the filter fails, there is a possibility to trigger use of allocated memory after free

CVE-2021-21708 9.8 - Critical - February 27, 2022

In PHP versions 7.4.x below 7.4.28, 8.0.x below 8.0.16, and 8.1.x below 8.1.3, when using filter functions with FILTER_VALIDATE_FLOAT filter and min/max limits, if the filter fails, there is a possibility to trigger use of allocated memory after free, which can result it crashes, and potentially in overwrite of other memory chunks and RCE. This issue affects: code that uses FILTER_VALIDATE_FLOAT with min/max limits.

Dangling pointer

In PHP versions 7.3.x below 7.3.33

CVE-2021-21707 5.3 - Medium - November 29, 2021

In PHP versions 7.3.x below 7.3.33, 7.4.x below 7.4.26 and 8.0.x below 8.0.13, certain XML parsing functions, like simplexml_load_file(), URL-decode the filename passed to them. If that filename contains URL-encoded NUL character, this may cause the function to interpret this as the end of the filename, thus interpreting the filename differently from what the user intended, which may lead it to reading a different file than intended.

In PHP versions 7.3.x up to and including 7.3.31, 7.4.x below 7.4.25 and 8.0.x below 8.0.12, when running PHP FPM SAPI with main FPM daemon process running as root and child worker processes running as lower-privileged users, it is possible for the child processes to access memory shared with the main process and write to it, modifying it in a way

CVE-2021-21703 7 - High - October 25, 2021

In PHP versions 7.3.x up to and including 7.3.31, 7.4.x below 7.4.25 and 8.0.x below 8.0.12, when running PHP FPM SAPI with main FPM daemon process running as root and child worker processes running as lower-privileged users, it is possible for the child processes to access memory shared with the main process and write to it, modifying it in a way that would cause the root process to conduct invalid memory reads and writes, which can be used to escalate privileges from local unprivileged user to the root user.

Memory Corruption

In PHP versions 7.3.x below 7.3.29, 7.4.x below 7.4.21 and 8.0.x below 8.0.8, when using Firebird PDO driver extension, a malicious database server could cause crashes in various database functions, such as getAttribute(), execute(), fetch() and others by returning invalid response data

CVE-2021-21704 5.9 - Medium - October 04, 2021

In PHP versions 7.3.x below 7.3.29, 7.4.x below 7.4.21 and 8.0.x below 8.0.8, when using Firebird PDO driver extension, a malicious database server could cause crashes in various database functions, such as getAttribute(), execute(), fetch() and others by returning invalid response data that is not parsed correctly by the driver. This can result in crashes, denial of service or potentially memory corruption.

Memory Corruption

In PHP versions 7.3.x below 7.3.29, 7.4.x below 7.4.21 and 8.0.x below 8.0.8, when using URL validation functionality

CVE-2021-21705 5.3 - Medium - October 04, 2021

In PHP versions 7.3.x below 7.3.29, 7.4.x below 7.4.21 and 8.0.x below 8.0.8, when using URL validation functionality via filter_var() function with FILTER_VALIDATE_URL parameter, an URL with invalid password field can be accepted as valid. This can lead to the code incorrectly parsing the URL and potentially leading to other security implications - like contacting a wrong server or making a wrong access decision.

Improper Input Validation

In PHP versions 7.3.x below 7.3.26

CVE-2020-7071 5.3 - Medium - February 15, 2021

In PHP versions 7.3.x below 7.3.26, 7.4.x below 7.4.14 and 8.0.0, when validating URL with functions like filter_var($url, FILTER_VALIDATE_URL), PHP will accept an URL with invalid password as valid URL. This may lead to functions that rely on URL being valid to mis-parse the URL and produce wrong data as components of the URL.

Improper Input Validation

In PHP versions 7.3.x below 7.3.27, 7.4.x below 7.4.15 and 8.0.x below 8.0.2, when using SOAP extension to connect to a SOAP server, a malicious SOAP server could return malformed XML data as a response

CVE-2021-21702 7.5 - High - February 15, 2021

In PHP versions 7.3.x below 7.3.27, 7.4.x below 7.4.15 and 8.0.x below 8.0.2, when using SOAP extension to connect to a SOAP server, a malicious SOAP server could return malformed XML data as a response that would cause PHP to access a null pointer and thus cause a crash.

NULL Pointer Dereference

In PHP versions 7.2.x below 7.2.34

CVE-2020-7070 5.3 - Medium - October 02, 2020

In PHP versions 7.2.x below 7.2.34, 7.3.x below 7.3.23 and 7.4.x below 7.4.11, when PHP is processing incoming HTTP cookie values, the cookie names are url-decoded. This may lead to cookies with prefixes like __Host confused with cookies that decode to such prefix, thus leading to an attacker being able to forge cookie which is supposed to be secure. See also CVE-2020-8184 for more information.

Reliance on Cookies without Validation and Integrity Checking

In PHP versions 7.2.x below 7.2.34

CVE-2020-7069 6.5 - Medium - October 02, 2020

In PHP versions 7.2.x below 7.2.34, 7.3.x below 7.3.23 and 7.4.x below 7.4.11, when AES-CCM mode is used with openssl_encrypt() function with 12 bytes IV, only first 7 bytes of the IV is actually used. This can lead to both decreased security and incorrect encryption data.

Inadequate Encryption Strength

In PHP versions 7.2.x below 7.2.33, 7.3.x below 7.3.21 and 7.4.x below 7.4.9, while processing PHAR files using phar extension, phar_parse_zipfile could be tricked into accessing freed memory

CVE-2020-7068 3.6 - Low - September 09, 2020

In PHP versions 7.2.x below 7.2.33, 7.3.x below 7.3.21 and 7.4.x below 7.4.9, while processing PHAR files using phar extension, phar_parse_zipfile could be tricked into accessing freed memory, which could lead to a crash or information disclosure.

Dangling pointer

In PHP versions 7.2.x below 7.2.31, 7.3.x below 7.3.18 and 7.4.x below 7.4.6, when HTTP file uploads are

CVE-2019-11048 5.3 - Medium - May 20, 2020

In PHP versions 7.2.x below 7.2.31, 7.3.x below 7.3.18 and 7.4.x below 7.4.6, when HTTP file uploads are allowed, supplying overly long filenames or field names could lead PHP engine to try to allocate oversized memory storage, hit the memory limit and stop processing the request, without cleaning up temporary files created by upload request. This potentially could lead to accumulation of uncleaned temporary files exhausting the disk space on the target server.

Integer Overflow or Wraparound

In PHP versions 7.2.x below 7.2.30, 7.3.x below 7.3.17 and 7.4.x below 7.4.5, if PHP is compiled with EBCDIC support (uncommon), urldecode() function

CVE-2020-7067 7.5 - High - April 27, 2020

In PHP versions 7.2.x below 7.2.30, 7.3.x below 7.3.17 and 7.4.x below 7.4.5, if PHP is compiled with EBCDIC support (uncommon), urldecode() function can be made to access locations past the allocated memory, due to erroneously using signed numbers as array indexes.

Out-of-bounds Read

Stay on top of Security Vulnerabilities

Want an email whenever new vulnerabilities are published for Debian Linux or by PHP? Click the Watch button to subscribe.

PHP
Vendor

PHP
Web programming language

subscribe