1
0
mirror of https://github.com/php/php-src.git synced 2026-03-30 12:13:02 +02:00
Files
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
..
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-06-11 16:27:50 +02:00
2021-07-08 16:45:05 +02:00
2021-07-08 16:45:05 +02:00
2021-06-25 12:29:20 +01:00
2021-06-29 17:13:02 +02:00
2021-06-29 17:13:02 +02:00
2021-07-08 16:45:05 +02:00
2023-08-17 18:45:10 +01:00
2022-10-01 14:34:24 +02:00
2023-08-03 21:11:55 +02:00
2020-11-25 15:57:11 +01:00

The mysqli extension tests

To run the tests, a test database must be created in the MySQL command-line:

CREATE DATABASE test;

The test suite will create the necessary tables for testing, and then delete them when testing is complete. Creating a dedicated table prior to running the tests is unnecessary. There are default values for MYSQL_TEST_HOST, MYSQL_TEST_USER, MYSQL_TEST_DB and MYSQL_TEST_PASSWD. If your values differ from the defaults, then environment variables must be set.

# Database host
# Default: localhost
MYSQL_TEST_HOST

# Database port
MYSQL_TEST_PORT

# Database user
# Default: root
MYSQL_TEST_USER

# Database user password
# The default password is empty (no password).
MYSQL_TEST_PASSWD

# Database name
# Default: test
MYSQL_TEST_DB

# Storage engine to use
MYSQL_TEST_ENGINE

# Database server socket
MYSQL_TEST_SOCKET

MySQL User Permissions

The MySQL user used to run the tests must have full permissions on the test database.