File php-5.1.2-CVE-2007-2728.patch of Package php
--- ext/soap/php_http.c +++ ext/soap/php_http.c @@ -22,6 +22,7 @@ #include "php_soap.h" #include "ext/standard/base64.h" #include "ext/standard/md5.h" +#include "ext/standard/php_rand.h" static char *get_http_header_value(char *headers, char *type); static int get_http_body(php_stream *socketd, int close, char *headers, char **response, int *out_size TSRMLS_DC); @@ -459,7 +460,7 @@ unsigned char hash[16]; PHP_MD5Init(&md5ctx); - sprintf(cnonce, "%d", rand()); + snprintf(cnonce, sizeof(cnonce), "%d", php_rand(TSRMLS_C)); PHP_MD5Update(&md5ctx, cnonce, strlen(cnonce)); PHP_MD5Final(hash, &md5ctx); make_digest(cnonce, hash);