Package: hashcash
Version: 1.17-1
Severity: serious
Tags: security patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

CVE-2006-3251: "Heap-based buffer overflow in the array_push function in
hashcash.c for Hashcash before 1.22 might allow attackers to execute
arbitrary code via crafted entries."

The CVE is incorrect; the bug was fixed in 1.21 according to the
changelog.  This bug does not apply to the versions in testing or
unstable, and I am filing this report for the security team.  I will
followup to mark the 1.21-1 as fixed.

I have not found a sample exploit, but I have isolated the patch and
attached it.  It applies and compiles cleanly.  To create the patch
yourself, fetch 1.20 and 1.20 from http://hashcash.org/source/ and run
diff on hashcash.c (note the first change, not included in the attached
patch, is cosmetic).

Thanks,

Alec

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEqGvkAud/2YgchcQRAnA6AJ0f+bLovZIMKrlHMKE4dSis6fZlFQCg4HYt
9SKhWhJ7Dt+kYHMjkBPzrtY=
=5JEN
-----END PGP SIGNATURE-----
--- hashcash-1.20/hashcash.c    2005-12-20 16:02:40.000000000 -0500
+++ hashcash-1.21/hashcash.c    2006-03-24 14:50:13.000000000 -0500
@@ -1253,7 +1253,7 @@
                 int over ) 
 {
     if ( array->num >= array->max ) {
-       array->elt = realloc( array->elt, array->max * 2 );
+       array->elt = realloc( array->elt, sizeof( ELEMENT) * array->max * 2 );
        if ( array->elt == NULL ) { die_msg( "out of memory" ); }
        array->max *= 2;
     }

Reply via email to