Commit Graph

139340 Commits

Author SHA1 Message Date
Dmitry Stogov
79aaeeafe5
Fix GH-16829: Segmentation fault with opcache.jit=tracing enabled on aarch64 2024-11-18 14:27:08 +03:00
Niels Dossche
7dd336ae83
Fix GHSA-4w77-75f9-2c8w 2024-11-18 11:06:01 +01:00
Niels Dossche
81030c9bbb
Fix GHSA-r977-prxv-hc43
Move the bound check upwards. Since this doesn't generate output we can
check the bound first.
2024-11-17 19:30:44 +01:00
Jakub Zelenka
2f5aa9f9d1
Fix GHSA-h35g-vwh6-m678: Mysqlnd - various heap buffer over-reads
This fixes issues causing buffer over-read that leak heap content:
- RESP packet field default left over for COM_LIST
- RESP packet upsert filename
- OK packet message
- RESP packet for stmt row data
  - ps_fetch_from_1_to_8_bytes
  - ps_fetch_float
  - ps_fetch_double
  - ps_fetch_time
  - ps_fetch_date
  - ps_fetch_datetime
  - ps_fetch_string
  - ps_fetch_bit
- RESP packet for query row data (just possible overflow on 32bit)

It also adds various protocol tests using a new fake server.
2024-11-17 19:30:13 +01:00
Niels Dossche
f9ecf90070
Fix GHSA-g665-fm4p-vhff: OOB access in ldap_escape 2024-11-17 19:29:56 +01:00
Jakub Zelenka
426a6d4539
Fix GHSA-c5f2-jwm7-mmq2: stream HTTP fulluri CRLF injection 2024-11-17 19:29:45 +01:00
Niels Dossche
69c5f68fdc
Fix GHSA-5hqh-c84r-qjcv: Integer overflow in the firebird quoter causing OOB writes 2024-11-17 19:29:26 +01:00
Niels Dossche
d9baa9fed8
Fix GHSA-5hqh-c84r-qjcv: Integer overflow in the dblib quoter causing OOB writes 2024-11-17 19:29:16 +01:00
Niels Dossche
b112d27ff5
[ci skip] Update last check date for compareDocumentPosition()
I validated there were no spec changes for this, so we can bump the last
check date.
2024-11-17 13:41:59 +01:00
David Carlier
5c6f18be5c
Merge branch 'PHP-8.4' 2024-11-17 12:28:12 +00:00
David Carlier
f7a508ca10
Merge branch 'PHP-8.3' into PHP-8.4 2024-11-17 12:27:36 +00:00
David Carlier
3fd0e4c461
Merge branch 'PHP-8.2' into PHP-8.3 2024-11-17 12:27:26 +00:00
David Carlier
80894d87d5
Fix GH-16834: cal_from_jd overflow on julian_day argument.
close GH-16836
2024-11-17 12:27:02 +00:00
Gina Peter Banyard
27a1d69504
Merge branch 'PHP-8.4'
* PHP-8.4:
  ext/pdo_pgsql: Remove new PDO class constant specific to PGSQL driver
2024-11-16 16:30:55 +00:00
Gina Peter Banyard
5e360b6402
ext/pdo_pgsql: Remove new PDO class constant specific to PGSQL driver
Closes GH-16755
2024-11-16 16:30:19 +00:00
Niels Dossche
cfc8361fe6
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16777: Calling the constructor again on a DOM object after it is in a document causes UAF
  Fix GH-16808: Segmentation fault in RecursiveIteratorIterator->current() with a xml element input
2024-11-16 13:42:22 +01:00
Niels Dossche
d3fada3748
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16777: Calling the constructor again on a DOM object after it is in a document causes UAF
  Fix GH-16808: Segmentation fault in RecursiveIteratorIterator->current() with a xml element input
2024-11-16 13:42:14 +01:00
Niels Dossche
18b18f0ee0
Fix GH-16777: Calling the constructor again on a DOM object after it is in a document causes UAF
Closes GH-16824.
2024-11-16 13:42:01 +01:00
Niels Dossche
2ba18590bf
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-16808: Segmentation fault in RecursiveIteratorIterator->current() with a xml element input
2024-11-16 13:41:29 +01:00
Niels Dossche
fbb0061993
Fix GH-16808: Segmentation fault in RecursiveIteratorIterator->current() with a xml element input
When the current data is invalid, NULL must be returned. At least that's
how the check in SPL works and how other extensions do this as well.
If we don't do this, an UNDEF value gets propagated to a return value
(misprinted as null); leading to issues.

Closes GH-16825.
2024-11-16 13:39:46 +01:00
Christoph M. Becker
0de8e401db
Drop bogus ext/libxml dependency on ext/iconv (GH-16801)
There is no such dependency; only libxml2 depends on libiconv.  So when
php_libxml.dll is built, it needs to be linked against libiconv, or,
when ext/iconv has been configured as static extension, against
php8.dll.
2024-11-15 21:25:00 +01:00
Niels Dossche
2c532cf02b
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16802: open_basedir bypass using curl extension
2024-11-15 21:17:56 +01:00
Niels Dossche
1b803bc3f5
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16802: open_basedir bypass using curl extension
2024-11-15 21:17:51 +01:00
Niels Dossche
179ca2bf2a
Fix GH-16802: open_basedir bypass using curl extension
And fix a memleak while here.

Closes GH-16804.
2024-11-15 21:17:36 +01:00
Niels Dossche
a0983a012c
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix test expectation for different closure name in 8.4
2024-11-15 20:33:06 +01:00
Niels Dossche
6a55beef90
Fix test expectation for different closure name in 8.4 2024-11-15 20:32:59 +01:00
Niels Dossche
4c88bfb96d
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
2024-11-15 20:05:40 +01:00
Niels Dossche
4a5854ee62
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
2024-11-15 20:03:26 +01:00
Niels Dossche
ed59c00661
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
2024-11-15 20:03:19 +01:00
Niels Dossche
553d79c709
Fix GH-16799: Assertion failure at Zend/zend_vm_execute.h:7469
zend_is_callable_ex() can unfortunately emit a deprecation, and then
a user error handler can throw an exception. This causes an assert
failure at ZEND_VM_NEXT_OPCODE(). We fix this by checking if there's an
exception after zend_is_callable_ex().

Closes GH-16803.
2024-11-15 20:02:26 +01:00
Christoph M. Becker
b7165f5d01
Merge branch 'PHP-8.4'
* PHP-8.4:
  Adapt ext/intl tests for ICU 75.1 and 76.1
2024-11-15 18:57:35 +01:00
Christoph M. Becker
54ae770cd6
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Adapt ext/intl tests for ICU 75.1 and 76.1
2024-11-15 18:57:12 +01:00
Christoph M. Becker
716b03d081
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Adapt ext/intl tests for ICU 75.1 and 76.1
2024-11-15 18:55:31 +01:00
Christoph M. Becker
f725f504e8
Adapt ext/intl tests for ICU 75.1 and 76.1
Closes GH-16788.
2024-11-15 18:55:01 +01:00
Christoph M. Becker
23d390ecb1
Merge branch 'PHP-8.4'
* PHP-8.4:
  Update FreeBSD CI
2024-11-15 18:24:58 +01:00
Christoph M. Becker
fb5fa4a689
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Update FreeBSD CI
2024-11-15 18:24:20 +01:00
Christoph M. Becker
a570e09ab2
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Update FreeBSD CI
2024-11-15 18:22:57 +01:00
Christoph M. Becker
fe1925aaac
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Update FreeBSD CI
2024-11-15 18:21:59 +01:00
Christoph M. Becker
85e23dbbb2
Update FreeBSD CI
FreeBSD 13.2 is no longer supported[1], and apparently the respective
Cirrus CI image has been removed.  We update to FreeBSD 13.3.

This also requires to disable some compiler warnings now, and adapt a
test case.

[1] <https://www.freebsd.org/security/#sup>
[2] <https://github.com/php/php-src/runs/33044888209>

Co-authored-by: David Carlier <devnexen@gmail.com>

Closes GH-16817.
2024-11-15 18:20:48 +01:00
David Carlier
4f76baba29
Merge branch 'PHP-8.4' 2024-11-15 16:51:10 +00:00
David Carlier
b8ba6f63a3
Fix GH-16812: UAF on readline_info() after readline_write_history() call.
close GH-16813
2024-11-15 16:50:24 +00:00
Christoph M. Becker
1922f41ef3
Merge branch 'PHP-8.4'
* PHP-8.4:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:28:09 +01:00
Christoph M. Becker
0ed855aa07
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:27:34 +01:00
Christoph M. Becker
925917f971
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:26:38 +01:00
Christoph M. Becker
3abb031c3c
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Stick with icu4c 74.2 on macOS CI for PHP-8.1
2024-11-15 14:25:19 +01:00
Christoph M. Becker
9128fb8f1e
Stick with icu4c 74.2 on macOS CI for PHP-8.1
PHP-8.1 is not ready for ICU >= 75.1 which requires C++17 support.
Thus we force the usage of icu4c@74, what is scheduled for removal in
May 2025, though.

Closes GH-16789.
2024-11-15 14:24:24 +01:00
Niels Dossche
3f4bcd8cba
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
2024-11-14 22:34:19 +01:00
Niels Dossche
4767c0626c
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
2024-11-14 22:34:12 +01:00
Niels Dossche
0bf74bf9d8
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
2024-11-14 22:34:05 +01:00
Niels Dossche
cbb3b9371d
Fix GH-16770: Tracing JIT type mismatch when returning UNDEF
When returning an UNDEF value, it actually becomes NULL.
The following code took this into account:
28344e0445/ext/opcache/jit/zend_jit_trace.c (L2196-L2199)

But the stack does not update the type to NULL, causing a mismatch.

Closes GH-16784.

Co-authored-by: Dmitry Stogov <dmitry@zend.com>
2024-11-14 22:33:06 +01:00