CVE-2016-3977
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.
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
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 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - CVSS 2.0
- 4.3 Medium
AV: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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 Medium
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
giflibAlpine:v3.4 |
before 5.1.4-r0 | 5.1.4-r0 |
giflibDebian:12 |
before 5.1.4-3 | 5.1.4-3 |
giflibDebian:13 |
before 5.1.4-3 | 5.1.4-3 |
giflibDebian:14 |
before 5.1.4-3 | 5.1.4-3 |
giflibMageia:5 |
before 4.2.3-4.3.mga5 | 4.2.3-4.3.mga5 |
giflibSUSE:Linux Enterprise Software Development Kit 11 SP4 |
before 4.1.6-21.1 | 4.1.6-21.1 |
giflibSUSE:Linux Enterprise Server 11 SP4 |
before 4.1.6-21.1 | 4.1.6-21.1 |
giflibSUSE:Linux Enterprise Server for SAP Applications 11 SP4 |
before 4.1.6-21.1 | 4.1.6-21.1 |
giflibSUSE:Linux Enterprise Desktop 12 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Desktop 12 SP1 |
before 5.0.5-12.1 | 5.0.5-12.1 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
giflibSUSE:Linux Enterprise Software Development Kit 12 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Software Development Kit 12 SP1 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Server 12 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Server for SAP Applications 12 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Server 12 SP1 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Server for SAP Applications 12 SP1 |
before 5.0.5-12.1 | 5.0.5-12.1 |
giflibSUSE:Linux Enterprise Module for Basesystem 15 SP3 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise Real Time 15 SP2 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibopenSUSE:Leap 15.3 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibopenSUSE:Leap 15.4 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise Server 15 SP1-LTSS |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise Server 15 SP2-LTSS |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise Server for SAP Applications 15 SP1 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Linux Enterprise Server for SAP Applications 15 SP2 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibSUSE:Enterprise Storage 7 |
before 5.2.1-150000.4.8.1 | 5.2.1-150000.4.8.1 |
giflibUbuntu:18.04:LTS |
before 5.1.4-2ubuntu0.1, plus listed versions 5.1.4-15.1.4-2 |
5.1.4-2ubuntu0.1 |
giflibUbuntu: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 |
giflibopenSUSE:Tumbleweed |
before 5.1.4-1.12 | 5.1.4-1.12 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE 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
securityfocus.com/bid/88103
lists.opensuse.org/opensuse-updates/2016-04/msg00084.html
sourceforge.net/p/giflib/bugs/87
sourceforge.net/p/giflib/code/ci/ea8dbc5786862a3e16a5acfa3d24e2c2f608cd88
lists.opensuse.org/opensuse-updates/2016-04/msg00079.html
bugs.fi/fuzzing/index.html
Show 26 moreShow less
lists.opensuse.org/opensuse-updates/2016-05/msg00019.html
bugzilla.redhat.com/show_bug.cgi?id=1325771
usn.ubuntu.com/4107-1
nvd.nist.gov/vuln/detail/CVE-2016-3977
github.com/advisories/GHSA-f9f6-3pmf-963r
security.alpinelinux.org/vuln/CVE-2016-3977
security-tracker.debian.org/tracker/CVE-2016-3977
advisories.mageia.org/MGASA-2016-0399.html
bugs.mageia.org/show_bug.cgi?id=18233
suse.com/support/update/announcement/2016/suse-su-20161139-1
bugzilla.suse.com/974847
suse.com/security/cve/CVE-2016-3977
suse.com/support/update/announcement/2016/suse-su-20161140-1
suse.com/support/update/announcement/2022/suse-su-20221565-1
bugzilla.suse.com/1094832
bugzilla.suse.com/1146299
bugzilla.suse.com/1184123
suse.com/security/cve/CVE-2018-11490
suse.com/security/cve/CVE-2019-15133
suse.com/support/update/announcement/2023/suse-su-20231970-2
ubuntu.com/security/CVE-2016-3977
ubuntu.com/security/notices/USN-4107-1
cve.org/CVERecord?id=CVE-2016-3977
ubuntu.com/security/CVE-2018-11490
ubuntu.com/security/CVE-2019-15133
suse.com/security/cve/CVE-2015-7555