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

Index: php-7.2.34/main/php_variables.c
===================================================================
--- php-7.2.34.orig/main/php_variables.c
+++ php-7.2.34/main/php_variables.c
@@ -109,6 +109,20 @@ PHPAPI void php_register_variable_ex(cha
 	}
 	var_len = p - var;
 
+	/* Discard variable if mangling made it start with __Host-, where pre-mangling it did not start with __Host- */
+	if (strncmp(var, "__Host-", sizeof("__Host-")-1) == 0 && strncmp(var_name, "__Host-", sizeof("__Host-")-1) != 0) {
+		zval_dtor(val);
+		free_alloca(var_orig, use_heap);
+		return;
+	}
+
+	/* Discard variable if mangling made it start with __Secure-, where pre-mangling it did not start with __Secure- */
+	if (strncmp(var, "__Secure-", sizeof("__Secure-")-1) == 0 && strncmp(var_name, "__Secure-", sizeof("__Secure-")-1) != 0) {
+		zval_dtor(val);
+		free_alloca(var_orig, use_heap);
+		return;
+	}
+
 	if (var_len==0) { /* empty variable name, or variable name with a space in it */
 		zval_dtor(val);
 		free_alloca(var_orig, use_heap);
openSUSE Build Service is sponsored by