1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 09:42:22 +01:00
Commit Graph

141918 Commits

Author SHA1 Message Date
Daniel Scherzer
f2b30f2780 Update versions for PHP 8.5.0alpha1 php-8.5.0alpha1 2025-07-01 14:58:05 -07:00
DanielEScherzer
642d729847 release-process: update some confusing parts (#18934)
Update based on my training with Pierrick
* dates should correspond to when releases are released, not tagged
* qa.php.net is no longer used
* bugs.php.net is no longer used
* multiple commits to web-php can be combined
2025-07-01 13:24:44 -07:00
Ben Ramsey
607eec8532 Merge branch 'PHP-8.4' 2025-07-01 15:22:10 -05:00
Ben Ramsey
881ec133d9 Merge branch 'PHP-8.3' into PHP-8.4 2025-07-01 15:21:57 -05:00
Ben Ramsey
fa960f7d95 Merge branch 'PHP-8.2' into PHP-8.3 2025-07-01 15:21:38 -05:00
Ben Ramsey
442638e562 Merge branch 'PHP-8.1' into PHP-8.2 2025-07-01 15:21:23 -05:00
Ben Ramsey
ca09f4dba4 PHP-8.1 is now for PHP 8.1.34-dev 2025-07-01 15:17:40 -05:00
Ben Ramsey
13bc0e2367 Merge branch 'PHP-8.1.33-security' into PHP-8.1 2025-07-01 15:13:25 -05:00
Máté Kocsis
66376389fe Update uriparser to commit 5f7c6d88c50f548d0c7f499c22d36f51d34775b3
While there, fix Windows build by adding UriResolve.c to the sources.
2025-07-01 21:53:33 +02:00
Tim Düsterhus
59dd0f8a48 Zend: Use zend_bad_method_call() when cloning from the wrong scope (#18999) 2025-07-01 20:24:11 +02:00
Sergey Panteleev
f71271dbaa Merge branch 'PHP-8.4'
* PHP-8.4:
  PHP-8.2 is now for PHP 8.2.30-dev
  Update NEWS with entries for security fixes
  Fix GHSA-453j-q27h-5p8x
  Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
  Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
2025-07-01 19:59:05 +03:00
Sergey Panteleev
7a3c0d3519 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  PHP-8.2 is now for PHP 8.2.30-dev
  Update NEWS with entries for security fixes
  Fix GHSA-453j-q27h-5p8x
  Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
  Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
2025-07-01 19:58:36 +03:00
Sergey Panteleev
b576ad4ca3 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  PHP-8.2 is now for PHP 8.2.30-dev
  Update NEWS with entries for security fixes
  Fix GHSA-453j-q27h-5p8x
  Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
  Fix GHSA-3cr5-j632-f35r: Null byte in hostnames

# Conflicts:
#	Zend/zend.h
#	configure.ac
#	ext/pgsql/pgsql.c
#	main/php_version.h
2025-07-01 19:58:02 +03:00
Niels Dossche
d706dc1f80 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix OSS-Fuzz #427814456
2025-07-01 18:52:44 +02:00
Niels Dossche
5d590a1e87 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix OSS-Fuzz #427814456
2025-07-01 18:52:39 +02:00
Niels Dossche
30662e4e2b Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-18979: DOM\XMLDocument::createComment() triggers undefined behavior with null byte
2025-07-01 18:51:31 +02:00
Niels Dossche
1d5089e574 Fix GH-18979: DOM\XMLDocument::createComment() triggers undefined behavior with null byte
Closes GH-18983.
2025-07-01 18:51:21 +02:00
Niels Dossche
91749844e6 Fix OSS-Fuzz #427814456
The first warning may trigger an error handler, destroying the operand
and its string. So we need to protect the string in that case.
Care was taken to avoid unnecessary refcounts and to avoid touching the
hot code path.

Closes GH-18951.
2025-07-01 18:50:41 +02:00
Sergey Panteleev
3d8cc222d5 PHP-8.2 is now for PHP 8.2.30-dev 2025-07-01 19:49:50 +03:00
Jakub Zelenka
165e5169a9 Update NEWS with entries for security fixes 2025-07-01 19:46:54 +03:00
Ahmed Lekssays
0298837252 Fix GHSA-453j-q27h-5p8x
Libxml versions prior to 2.13 cannot correctly handle a call to
xmlNodeSetName() with a name longer than 2G. It will leave the node
object in an invalid state with a NULL name. This later causes a NULL
pointer dereference when using the name during message serialization.

To solve this, implement a workaround that resets the name to the
sentinel name if this situation arises.

Versions of libxml of 2.13 and higher are not affected.

This can be exploited if a SoapVar is created with a fully qualified
name that is longer than 2G. This would be possible if some application
code uses a namespace prefix from an untrusted source like from a remote
SOAP service.

Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2025-07-01 19:46:51 +03:00
Jakub Zelenka
a2cdff5583 Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
This adds error checks for escape function is pgsql and pdo_pgsql
extensions. It prevents possibility of storing not properly escaped
data which could potentially lead to some security issues.
2025-07-01 19:46:48 +03:00
Jakub Zelenka
27e67cc371 Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-07-01 19:46:42 +03:00
Eric Mann
50e1b23efb Merge branch 'PHP-8.4'
* PHP-8.4:
  Update NEWS with entries for security fixes
  Fix GHSA-453j-q27h-5p8x
  Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
  Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
2025-07-01 09:41:14 -07:00
Eric Mann
7f5d491a05 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Update NEWS with entries for security fixes
  Fix GHSA-453j-q27h-5p8x
  Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
  Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
2025-07-01 09:39:53 -07:00
Jakub Zelenka
fc49d33449 Update NEWS with entries for security fixes 2025-07-01 09:37:50 -07:00
Ahmed Lekssays
dd060656d3 Fix GHSA-453j-q27h-5p8x
Libxml versions prior to 2.13 cannot correctly handle a call to
xmlNodeSetName() with a name longer than 2G. It will leave the node
object in an invalid state with a NULL name. This later causes a NULL
pointer dereference when using the name during message serialization.

To solve this, implement a workaround that resets the name to the
sentinel name if this situation arises.

Versions of libxml of 2.13 and higher are not affected.

This can be exploited if a SoapVar is created with a fully qualified
name that is longer than 2G. This would be possible if some application
code uses a namespace prefix from an untrusted source like from a remote
SOAP service.

Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2025-07-01 09:35:03 -07:00
Jakub Zelenka
545d1536d8 Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
This adds error checks for escape function is pgsql and pdo_pgsql
extensions. It prevents possibility of storing not properly escaped
data which could potentially lead to some security issues.
2025-07-01 09:34:49 -07:00
Jakub Zelenka
cf0c39723e Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-07-01 09:34:23 -07:00
Ilija Tovilo
927aecaf6d Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix missing HAVE_JIT guard
2025-07-01 17:50:48 +02:00
Ilija Tovilo
49d94cced0 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GHSA-453j-q27h-5p8x
  Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
  Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
2025-07-01 17:48:00 +02:00
Ilija Tovilo
c57ec92eb6 Fix missing HAVE_JIT guard
Closes GH-18993
2025-07-01 17:44:11 +02:00
Ahmed Lekssays
a179e39c38 Fix GHSA-453j-q27h-5p8x
Libxml versions prior to 2.13 cannot correctly handle a call to
xmlNodeSetName() with a name longer than 2G. It will leave the node
object in an invalid state with a NULL name. This later causes a NULL
pointer dereference when using the name during message serialization.

To solve this, implement a workaround that resets the name to the
sentinel name if this situation arises.

Versions of libxml of 2.13 and higher are not affected.

This can be exploited if a SoapVar is created with a fully qualified
name that is longer than 2G. This would be possible if some application
code uses a namespace prefix from an untrusted source like from a remote
SOAP service.

Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2025-07-01 23:01:17 +09:00
Jakub Zelenka
66bd809ac9 Fix GHSA-hrwm-9436-5mv3: pgsql escaping no error checks
This adds error checks for escape function is pgsql and pdo_pgsql
extensions. It prevents possibility of storing not properly escaped
data which could potentially lead to some security issues.
2025-07-01 23:01:16 +09:00
Jakub Zelenka
5ef0dc7666 Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-07-01 23:01:16 +09:00
Niels Dossche
4a98b36416 Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-18898: SEGV zend_jit_op_array_hot with property hooks and preloading
2025-06-30 18:38:30 +02:00
Niels Dossche
53f2aa93ae Fix GH-18898: SEGV zend_jit_op_array_hot with property hooks and preloading
Property hooks were not handled for JIT+trait+preloading.
Split the existing functions that handle op arrays, and add iterations
for property hooks.

Closes GH-18923.
2025-06-30 18:38:11 +02:00
Daniil Gentili
f6f0aed9f3 Allow using fast destruction path when ASAN is in use (#18835) 2025-06-30 18:37:20 +02:00
Shivam Mathur
a1d4b18d8d Merge branch 'PHP-8.4' 2025-06-30 20:03:10 +05:30
Shivam Mathur
cb4940051a Merge branch 'PHP-8.3' into PHP-8.4 2025-06-30 20:02:45 +05:30
Shivam Mathur
8ae80d2fa5 Merge branch 'PHP-8.2' into PHP-8.3 2025-06-30 20:02:10 +05:30
Shivam Mathur
c5f1ae38a2 Merge branch 'PHP-8.1' into PHP-8.2 2025-06-30 20:01:49 +05:30
Shivam Mathur
8ddc210bf7 Fix PHP_BUILD_CRT input in the nightly workflow (#18982) 2025-06-30 20:00:25 +05:30
Tim Düsterhus
c9249e2d3a Support every argument syntax for clone() (#18938)
* zend_language_parser: Support every argument syntax for `clone()`

* zend_language_parser: Adjust `clone()` grammar to avoid conflicts

* zend_language_parser: Add explanatory comment for `clone_argument_list`
2025-06-30 12:31:27 +02:00
Arnaud Le Blanc
bbc465efff Merge branch 'PHP-8.4'
* PHP-8.4:
  Add FreeBSD ZTS nightly build
2025-06-30 11:48:07 +02:00
Arnaud Le Blanc
562660df9b Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Add FreeBSD ZTS nightly build
2025-06-30 11:48:01 +02:00
Arnaud Le Blanc
0d9c8f66a3 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Add FreeBSD ZTS nightly build
2025-06-30 11:47:55 +02:00
Arnaud Le Blanc
05a44d2813 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add FreeBSD ZTS nightly build
2025-06-30 11:47:49 +02:00
Arnaud Le Blanc
85522c0d48 Add FreeBSD ZTS nightly build
Closes GH-18959
2025-06-30 11:47:26 +02:00
Niels Dossche
4a18c895ca Fix OSS-Fuzz #428053935 (#18969)
Registering the constant may happen under another name due to
lowercasing. This will cause the lookup to the constant to fail.
Instead of looking it up, just change the Zend API to return a pointer
instead.
2025-06-30 09:09:55 +02:00