On Sat, Jun 04, 2005 at 07:04:42PM +0200, Martin Schulze wrote:
> Below please find the real patch and ensure it is applied to the
> version in unstable as well (or a similar patch).  This one was
> even missing from your patchset so I'm not sure if you've got it
> already.  If not, please tell me which version in sid will fix
> the problem and let me know if the version for sarge should go
> via security or proposed-updates/sid - and which version if you
> take care of it.

Thanks a lot, I have applied your patch in ht_0.8.0-3 which I uploaded
at around midnight UTC. katie started processing it, but the archive
was already closed, so it looks like I have to check again later.

All in all I have to say I felt very nicely treated despite my
apparent lack of appropriate action. Thanks for first giving me the
benefit of doubt before hitting me with a cluebat. Please continue
applying this courtesy, it was much appreciated.
Nonetheless this all made me think hard, and sadly I had to realize
I'm not quite up to the task (yet?), so it's better to hand over the
package into more knowledgable hands: RFA just sent. Until this happens,
I'll try to sort out all the remaining issues, of course, so please keep
me in line. This paragraph is just so you know what you are up to.

Cheers,
Flo


PS: debdiff between ht_0.8.0-2 (in Sarge / Sid) and ht_0.8.0-3 attached
diff -u ht-0.8.0/debian/changelog ht-0.8.0/debian/changelog
--- ht-0.8.0/debian/changelog
+++ ht-0.8.0/debian/changelog
@@ -1,3 +1,11 @@
+ht (0.8.0-3) unstable; urgency=high
+
+  * Urgency high due to security fix
+  * Added two integer overflow precautions in the ELF parser [htelfshs.cc,
+    CAN-2005-1545], thanks to Martin 'Joey' Schulze and the Security Team!
+
+ -- Florian Ernst <[EMAIL PROTECTED]>  Sun, 05 Jun 2005 01:52:24 +0200
+
 ht (0.8.0-2) unstable; urgency=high
 
   * Urgency high due to security fix
only in patch2:
unchanged:
--- ht-0.8.0.orig/htelfshs.cc
+++ ht-0.8.0/htelfshs.cc
@@ -25,6 +25,7 @@
 #include "httag.h"
 #include "formats.h"
 #include "snprintf.h"
+#include <limits.h>
 
 static ht_mask_ptable elfsectionheader32[]=
 {
@@ -115,6 +116,10 @@
 
                v->insertsub(m);
 
+               if (elf_shared->sheaders.count == 0
+                   || (elf_shared->sheaders.count >= INT_MAX / sizeof 
*elf_shared->shnames))
+                       return NULL;
+
                elf_shared->shnames = (char**)malloc(elf_shared->sheaders.count 
* sizeof *elf_shared->shnames);
                FILEOFS 
so=elf_shared->sheaders.sheaders32[elf_shared->header32.e_shstrndx].sh_offset;
                for (UINT i=0; i<elf_shared->sheaders.count; i++) {
@@ -155,6 +160,10 @@
 
                v->insertsub(m);
 
+               if (elf_shared->sheaders.count == 0
+                   || (elf_shared->sheaders.count >= INT_MAX / sizeof 
*elf_shared->shnames))
+                       return NULL;
+
                elf_shared->shnames=(char**)malloc(elf_shared->sheaders.count * 
sizeof *elf_shared->shnames);
                /* FIXME: 64-bit */
                FILEOFS 
so=elf_shared->sheaders.sheaders64[elf_shared->header64.e_shstrndx].sh_offset.lo;

Attachment: signature.asc
Description: Digital signature

Reply via email to