File php7-CVE-2022-31626.patch of Package php7.27849

From 58006537fc5f133ae8549efe5118cde418b3ace9 Mon Sep 17 00:00:00 2001
From: Stanislav Malyshev <smalyshev@gmail.com>
Date: Mon, 6 Jun 2022 00:56:51 -0600
Subject: [PATCH] Fix bug #81719: mysqlnd/pdo password buffer overflow

---
 ext/mysqlnd/mysqlnd_wireprotocol.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: php-7.2.34/ext/mysqlnd/mysqlnd_wireprotocol.c
===================================================================
--- php-7.2.34.orig/ext/mysqlnd/mysqlnd_wireprotocol.c
+++ php-7.2.34/ext/mysqlnd/mysqlnd_wireprotocol.c
@@ -794,7 +794,8 @@ php_mysqlnd_change_auth_response_write(v
 	MYSQLND_VIO * vio = packet->header.vio;
 	MYSQLND_STATS * stats = packet->header.stats;
 	MYSQLND_CONNECTION_STATE * connection_state = packet->header.connection_state;
-	zend_uchar * buffer = pfc->cmd_buffer.length >= packet->auth_data_len? pfc->cmd_buffer.buffer : mnd_emalloc(packet->auth_data_len);
+	size_t total_packet_size = packet->auth_data_len + MYSQLND_HEADER_SIZE;
+	zend_uchar * buffer = pfc->cmd_buffer.length >= total_packet_size? pfc->cmd_buffer.buffer : mnd_emalloc(total_packet_size);
 	zend_uchar * p = buffer + MYSQLND_HEADER_SIZE; /* start after the header */
 
 	DBG_ENTER("php_mysqlnd_change_auth_response_write");
openSUSE Build Service is sponsored by