[php-maint] Bug#373236: diff for 4:4.4.2-1.1 NMU
Steinar H. Gunderson
sesse at debian.org
Tue Jun 13 20:05:48 UTC 2006
Package: php4
Version: 4:4.4.2-1
Severity: normal
Tags: patch
Hi,
Attached is the diff for my php4 4:4.4.2-1.1 NMU.
-------------- next part --------------
diff -Nru /tmp/lqhcFBVQep/php4-4.4.2/debian/changelog /tmp/965ba9IQOe/php4-4.4.2/debian/changelog
--- /tmp/lqhcFBVQep/php4-4.4.2/debian/changelog 2006-06-13 22:05:28.000000000 +0200
+++ /tmp/965ba9IQOe/php4-4.4.2/debian/changelog 2006-06-13 22:05:29.000000000 +0200
@@ -1,3 +1,15 @@
+php4 (4:4.4.2-1.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * Backport patches from upstream CVS to fix security issues:
+ * 058-html_entity_decode_fix.patch: Fix information leak in
+ html_entity_decode() (CVE-2006-1490). (Closes: #359904)
+ * 059-wordwrap_fix.patch: Fix possible heap overflow in wordwrap()
+ (CVE-2006-1990). (Closes: #365311)
+ * Make sure patches are applied in correct order; patch from Sven Mueller.
+
+ -- Steinar H. Gunderson <sesse at debian.org> Tue, 13 Jun 2006 21:09:20 +0200
+
php4 (4:4.4.2-1) unstable; urgency=low
* New upstream bugfix release, skipping the problematic 4.4.1 release:
diff -Nru /tmp/lqhcFBVQep/php4-4.4.2/debian/patches/058-html_entity_decode_fix.patch /tmp/965ba9IQOe/php4-4.4.2/debian/patches/058-html_entity_decode_fix.patch
--- /tmp/lqhcFBVQep/php4-4.4.2/debian/patches/058-html_entity_decode_fix.patch 1970-01-01 01:00:00.000000000 +0100
+++ /tmp/965ba9IQOe/php4-4.4.2/debian/patches/058-html_entity_decode_fix.patch 2006-06-13 22:05:29.000000000 +0200
@@ -0,0 +1,18 @@
+Fetched from upstream CVS, at
+
+ http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/html.c?r1=1.63.2.23.2.1&r2=1.63.2.23.2.2&view=patch
+
+Fixes CVE-2006-1490.
+
+diff -ur php4-4.3.10-orig/ext/standard/html.c php4-4.3.10/ext/standard/html.c
+--- php4-4.3.10-orig/ext/standard/html.c 2004-07-13 19:15:13.000000000 +0200
++++ php4-4.3.10/ext/standard/html.c 2006-03-31 17:15:33.000000000 +0200
+@@ -791,7 +791,7 @@
+ enum entity_charset charset = determine_charset(hint_charset TSRMLS_CC);
+ unsigned char replacement[15];
+
+- ret = estrdup(old);
++ ret = estrndup(old,oldlen);
+ retlen = oldlen;
+ if (!retlen) {
+ goto empty_source;
diff -Nru /tmp/lqhcFBVQep/php4-4.4.2/debian/patches/059-wordwrap_fix.patch /tmp/965ba9IQOe/php4-4.4.2/debian/patches/059-wordwrap_fix.patch
--- /tmp/lqhcFBVQep/php4-4.4.2/debian/patches/059-wordwrap_fix.patch 1970-01-01 01:00:00.000000000 +0100
+++ /tmp/965ba9IQOe/php4-4.4.2/debian/patches/059-wordwrap_fix.patch 2006-06-13 22:05:29.000000000 +0200
@@ -0,0 +1,35 @@
+Fetched from upstream CVS, at
+
+ http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/string.c?r1=1.333.2.52.2.3&r2=1.333.2.52.2.4&view=patch
+
+Fixes CVE-2006-1990.
+
+--- php4-4.3.10.orig/ext/standard/string.c 2006/01/01 13:46:58 1.333.2.52.2.3
++++ php4-4.3.10/ext/standard/string.c 2006/03/13 14:41:27 1.333.2.52.2.4
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: string.c,v 1.333.2.52.2.3 2006/01/01 13:46:58 sniper Exp $ */
++/* $Id: string.c,v 1.333.2.52.2.4 2006/03/13 14:41:27 iliaa Exp $ */
+
+ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
+
+@@ -672,15 +672,13 @@
+ /* Multiple character line break or forced cut */
+ if (linelength > 0) {
+ chk = (int)(textlen/linelength + 1);
++ newtext = safe_emalloc(chk, breakcharlen, textlen + 1);
+ alloced = textlen + chk * breakcharlen + 1;
+ } else {
+ chk = textlen;
++ newtext = safe_emalloc(textlen, (breakcharlen + 1), 1);
+ alloced = textlen * (breakcharlen + 1) + 1;
+ }
+- if (alloced <= 0) {
+- RETURN_FALSE;
+- }
+- newtext = emalloc(alloced);
+
+ /* now keep track of the actual new text length */
+ newtextlen = 0;
diff -Nru /tmp/lqhcFBVQep/php4-4.4.2/debian/rules /tmp/965ba9IQOe/php4-4.4.2/debian/rules
--- /tmp/lqhcFBVQep/php4-4.4.2/debian/rules 2006-06-13 22:05:28.000000000 +0200
+++ /tmp/965ba9IQOe/php4-4.4.2/debian/rules 2006-06-13 22:05:29.000000000 +0200
@@ -101,7 +101,7 @@
patch: patch-stamp
patch-stamp:
dh_testdir
- for patch in debian/patches/*.patch; do \
+ for patch in `ls debian/patches/*.patch | sort`; do \
echo '->'`basename $$patch`:; \
if ! patch -p1 --ignore-whitespace --dry-run < $$patch; \
then \
More information about the pkg-php-maint
mailing list