Every CVE Search/ Get API key

CVE-2016-3977

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers...

5.5 MediumFix available

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

2.10%Up 0.3 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 5.5

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
CVE-2016-3977
CVSS 3.0
5.5 MediumCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS 2.0
4.3 MediumAV:N/AC:M/Au:N/C:N/I:N/A:P
Weakness
CWE-119
Updated
2026-11-02
CVE List No score

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
CVE-2016-3977
Updated
2026-11-02
EUVDEUVD-2016-4986 No score

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
EUVD-2016-4986
Updated
2026-11-03
GitHub AdvisoriesGHSA-f9f6-3pmf-963r 5.5

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers...

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
GHSA-f9f6-3pmf-963r
CVSS 3.0
5.5 MediumCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Weakness
CWE-119
Updated
2026-11-02
OSVALPINE-CVE-2016-3977 5.5

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
ALPINE-CVE-2016-3977
CVSS 3.0
5.5 MediumCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSV 5.5

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
CVE-2016-3977
CVSS 3.0
5.5 MediumCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 9 moreShow less
OSVDEBIAN-CVE-2016-3977 5.5

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
DEBIAN-CVE-2016-3977
CVSS 3.0
5.5 MediumCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2016-3977 5.5

Heap-based buffer overflow in util/gif2rgb.c in gif2rgb in giflib 5.1.2 allows remote attackers to cause a denial of service (application crash) via the background color index in a GIF file.

Record
UBUNTU-CVE-2016-3977
CVSS 3.0
5.5 MediumCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVMGASA-2016-0399 No score

Updated giflib packages fix security vulnerability

A heap buffer overflow vulnerability was found in giflib. A maliciously crafted gif file could cause the gif2rgb tool to crash (CVE-2016-3977).

Record
MGASA-2016-0399
Updated
2026-11-02
OSVopenSUSE-SU-2024:10016-1 No score

giflib-devel-32bit-5.1.4-1.12 on GA media

These are all security issues fixed in the giflib-devel-32bit-5.1.4-1.12 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10016-1
Updated
2026-11-02
OSVSUSE-SU-2016:1139-1 No score

Security update for giflib

giflib was updated to fix one security issue.

This security issue was fixed:

  • CVE-2016-3977: Heap buffer overflow in gif2rgb (bsc#974847).
Record
SUSE-SU-2016:1139-1
Updated
2026-11-02
OSVSUSE-SU-2016:1140-1 No score

Security update for giflib

giflib was updated to fix one security issue.

This security issue was fixed:

  • CVE-2016-3977: Heap buffer overflow in gif2rgb (bsc#974847).
Record
SUSE-SU-2016:1140-1
Updated
2026-11-02
OSVSUSE-SU-2022:1565-1 No score

Security update for giflib

This update for giflib fixes the following issues:

  • CVE-2019-15133: Fixed a divide-by-zero exception in the decoder function DGifSlurp in dgif_lib.c if the height field of the ImageSize data structure is equal to zero (bsc#1146299).
  • CVE-2018-11490: Fixed a heap-based buffer overflow in DGifDecompressLine function in dgif_lib.c (bsc#1094832).
  • CVE-2016-3977: Fixed a heap buffer overflow in gif2rgb (bsc#974847).

Update to version 5.2.1

  • In gifbuild.c, avoid a core dump on no color map.
  • Restore inadvertently removed library version numbers in Makefile.

Changes in version 5.2.0

  • The undocumented and deprecated GifQuantizeBuffer() entry point has been moved to the util library to reduce libgif size and attack surface. Applications needing this function are couraged to link the util library or make their own copy.
  • The following obsolete utility programs are no longer installed: gifecho, giffilter, gifinto, gifsponge. These were either installed in error or have been obsolesced by modern image-transformmation tools like ImageMagick convert. They may be removed entirely in a future release.
  • Address SourceForge issue #136: Stack-buffer-overflow in gifcolor.c:84
  • Address SF bug #134: Giflib fails to slurp significant number of gifs
  • Apply SPDX convention for license tagging.

Changes in version 5.1.9

  • The documentation directory now includes an HTMlified version of the GIF89 standard, and a more detailed description of how LZW compression is applied to GIFs.
  • Address SF bug #129: The latest version of giflib cannot be build on windows.
  • Address SF bug #126: Cannot compile giflib using c89

Changes in version 5.1.8

  • Address SF bug #119: MemorySanitizer: FPE on unknown address (CVE-2019-15133 bsc#1146299)
  • Address SF bug #125: 5.1.7: xmlto is still required for tarball
  • Address SF bug #124: 5.1.7: ar invocation is not crosscompile compatible
  • Address SF bug #122: 5.1.7 installs manpages to wrong directory
  • Address SF bug #121: make: getversion: Command not found
  • Address SF bug #120: 5.1.7 does not build a proper library - no

Changes in version 5.1.7

  • Correct a minor packaging error (superfluous symlinks) in the 5.1.6 tarballs.

Changes in version 5.1.6

  • Fix library installation in the Makefile.

Changes in version 5.1.5

  • Fix SF bug #114: Null dereferences in main() of gifclrmp
  • Fix SF bug #113: Heap Buffer Overflow-2 in function DGifDecompressLine() in cgif.c. This had been assigned (CVE-2018-11490 bsc#1094832).
  • Fix SF bug #111: segmentation fault in PrintCodeBlock
  • Fix SF bug #109: Segmentation fault of giftool reading a crafted file
  • Fix SF bug #107: Floating point exception in giftext utility
  • Fix SF bug #105: heap buffer overflow in DumpScreen2RGB in gif2rgb.c:317
  • Fix SF bug #104: Ineffective bounds check in DGifSlurp
  • Fix SF bug #103: GIFLIB 5.1.4: DGifSlurp fails on empty comment
  • Fix SF bug #87: Heap buffer overflow in 5.1.2 (gif2rgb). (CVE-2016-3977 bsc#974847)
  • The horrible old autoconf build system has been removed with extreme prejudice. You now build this simply by running 'make' from the top-level directory.

The following non-security bugs were fixed:

  • build path independent objects and inherit CFLAGS from the build system (bsc#1184123)
Record
SUSE-SU-2022:1565-1
Updated
2026-11-02
OSVSUSE-SU-2023:1970-2 No score

Security update for giflib

This update for giflib fixes the following issues:

  • CVE-2019-15133: Fixed a divide-by-zero exception in the decoder function DGifSlurp in dgif_lib.c if the height field of the ImageSize data structure is equal to zero (bsc#1146299).
  • CVE-2018-11490: Fixed a heap-based buffer overflow in DGifDecompressLine function in dgif_lib.c (bsc#1094832).
  • CVE-2016-3977: Fixed a heap buffer overflow in gif2rgb (bsc#974847).

Update to version 5.2.1

  • In gifbuild.c, avoid a core dump on no color map.
  • Restore inadvertently removed library version numbers in Makefile.

Changes in version 5.2.0

  • The undocumented and deprecated GifQuantizeBuffer() entry point has been moved to the util library to reduce libgif size and attack surface. Applications needing this function are couraged to link the util library or make their own copy.
  • The following obsolete utility programs are no longer installed: gifecho, giffilter, gifinto, gifsponge. These were either installed in error or have been obsolesced by modern image-transformmation tools like ImageMagick convert. They may be removed entirely in a future release.
  • Address SourceForge issue #136: Stack-buffer-overflow in gifcolor.c:84
  • Address SF bug #134: Giflib fails to slurp significant number of gifs
  • Apply SPDX convention for license tagging.

Changes in version 5.1.9

  • The documentation directory now includes an HTMlified version of the GIF89 standard, and a more detailed description of how LZW compression is applied to GIFs.
  • Address SF bug #129: The latest version of giflib cannot be build on windows.
  • Address SF bug #126: Cannot compile giflib using c89

Changes in version 5.1.8

  • Address SF bug #119: MemorySanitizer: FPE on unknown address (CVE-2019-15133 bsc#1146299)
  • Address SF bug #125: 5.1.7: xmlto is still required for tarball
  • Address SF bug #124: 5.1.7: ar invocation is not crosscompile compatible
  • Address SF bug #122: 5.1.7 installs manpages to wrong directory
  • Address SF bug #121: make: getversion: Command not found
  • Address SF bug #120: 5.1.7 does not build a proper library - no

Changes in version 5.1.7

  • Correct a minor packaging error (superfluous symlinks) in the 5.1.6 tarballs.

Changes in version 5.1.6

  • Fix library installation in the Makefile.

Changes in version 5.1.5

  • Fix SF bug #114: Null dereferences in main() of gifclrmp
  • Fix SF bug #113: Heap Buffer Overflow-2 in function DGifDecompressLine() in cgif.c. This had been assigned (CVE-2018-11490 bsc#1094832).
  • Fix SF bug #111: segmentation fault in PrintCodeBlock
  • Fix SF bug #109: Segmentation fault of giftool reading a crafted file
  • Fix SF bug #107: Floating point exception in giftext utility
  • Fix SF bug #105: heap buffer overflow in DumpScreen2RGB in gif2rgb.c:317
  • Fix SF bug #104: Ineffective bounds check in DGifSlurp
  • Fix SF bug #103: GIFLIB 5.1.4: DGifSlurp fails on empty comment
  • Fix SF bug #87: Heap buffer overflow in 5.1.2 (gif2rgb). (CVE-2016-3977 bsc#974847)
  • The horrible old autoconf build system has been removed with extreme prejudice. You now build this simply by running 'make' from the top-level directory.

The following non-security bugs were fixed:

  • build path independent objects and inherit CFLAGS from the build system (bsc#1184123)
Record
SUSE-SU-2023:1970-2
Updated
2026-11-02
OSVUSN-4107-1 No score

giflib vulnerabilities

It was discovered that GIFLIB incorrectly handled certain GIF files. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 18.04 LTS. (CVE-2016-3977)

It was discovered that GIFLIB incorrectly handled certain GIF files. An attacker could possibly use this issue to cause a denial of service. (CVE-2018-11490, CVE-2019-15133)

Record
USN-4107-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
giflib
Alpine:v3.4
before 5.1.4-r0
5.1.4-r0
giflib
Debian:12
before 5.1.4-3
5.1.4-3
giflib
Debian:13
before 5.1.4-3
5.1.4-3
giflib
Debian:14
before 5.1.4-3
5.1.4-3
giflib
Mageia:5
before 4.2.3-4.3.mga5
4.2.3-4.3.mga5
giflib
SUSE:Linux Enterprise Software Development Kit 11 SP4
before 4.1.6-21.1
4.1.6-21.1
giflib
SUSE:Linux Enterprise Server 11 SP4
before 4.1.6-21.1
4.1.6-21.1
giflib
SUSE:Linux Enterprise Server for SAP Applications 11 SP4
before 4.1.6-21.1
4.1.6-21.1
giflib
SUSE:Linux Enterprise Desktop 12
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Desktop 12 SP1
before 5.0.5-12.1
5.0.5-12.1
Show 20 moreShow less
Affected packages
PackageAffectedFixed
giflib
SUSE:Linux Enterprise Software Development Kit 12
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Software Development Kit 12 SP1
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Server 12
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Server for SAP Applications 12
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Server 12 SP1
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Server for SAP Applications 12 SP1
before 5.0.5-12.1
5.0.5-12.1
giflib
SUSE:Linux Enterprise Module for Basesystem 15 SP3
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise Real Time 15 SP2
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
openSUSE:Leap 15.3
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
openSUSE:Leap 15.4
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise Server 15 SP1-LTSS
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise Server 15 SP2-LTSS
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise Server for SAP Applications 15 SP1
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Linux Enterprise Server for SAP Applications 15 SP2
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
SUSE:Enterprise Storage 7
before 5.2.1-150000.4.8.1
5.2.1-150000.4.8.1
giflib
Ubuntu:18.04:LTS
before 5.1.4-2ubuntu0.1, plus listed versions
5.1.4-15.1.4-2
5.1.4-2ubuntu0.1
giflib
Ubuntu:16.04:LTS
before 5.1.4-0.3~16.04.1, plus listed versions
4.1.6-115.1.1-0ubuntu15.1.1-0.15.1.1-0.25.1.2-0.15.1.2-0.25.1.4-0.3~16.04
5.1.4-0.3~16.04.1
giflib
openSUSE:Tumbleweed
before 5.1.4-1.12
5.1.4-1.12

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2016-3977 is a medium vulnerability (CVSS 5.5) in Giflib Project Giflib, published April 21, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.10%, the 81st percentile. Fixed in giflib 5.1.4-r0.

References

Show 26 moreShow less
MoveEnter Open