Hi Helmut,

> On Sat, Jan 02, 2021 at 01:35:09PM +0100, Salvatore Bonaccorso wrote:
> > Looks the wrong bug was closed here? CVE-2018-11490 was sf#113, while
> > this one is CVE-2018-11489, sf#112, which does not seem to be adressed
> > yet (altough the upstream report disapeared).
> 
> I looked into this and think this is fixed.
> 
> Since the issue disappeared, all we have is the vulnerability
> description:
> 
> | The DGifDecompressLine function in dgif_lib.c in GIFLIB (possibly
> | version 3.0.x), as later shipped in cgif.c in sam2p 0.49.4, has a
> | heap-based buffer overflow because a certain CrntCode array index
> | is not checked. This will lead to a denial of service or possibly
> | unspecified other impact.
> 
> Looking into DGifDecompressLine, the offending CrntCode is obtained
> using DGifDecompressInput. If you look how that value is assigned, one
> of the CodeMasks is always used to assign it. The maximum mask is 0xfff
> or 4095. So we're using this number to index into the Prefix array,
> which is statically sized LZ_MAX_CODE + 1 == 4096. This all seems fine
> to me.
> 
> Looking into sam2p, we can see stefan-cornelius proposed a patch:
> https://github.com/pts/sam2p/files/2252965/sam2p_CVEs.patch.txt
> 
> This patch adds the code that ensures that DGifDecompressInput never
> yields a value exceeding the maximum mask and I see how it addresses the
> vulnerability quoted earlier. It has been applied even to jessie and is
> present since the git history of giflib.
> 
> As such, I conclude that sam2p was shipping a very old fork of giflib
> and giflib has fixed this way longer ago.
> 
> I'm also going to update the security tracker.

Thanks for the analysis. Were you able to pin point the giflib version
historically fixing this, I suggest to use debsnap to look at
dgif_lib.c code as one possibility and track which unstable upload was
it which fixed it.

Then you can use this as the fixing version (if it's not pre-initial
upload, otherwise not-affected, and fixed before initial release), and
then drop all the no-dsa tagged entries which are not relevant.

Regards,
Salvatore

Reply via email to