CVE-2017-16879
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0...
CVE-2017-16879 is a high vulnerability (CVSS 7.8) in Invisible-island Ncurses, published November 22, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.39%, the 83rd percentile. Fixed in ncurses 6.0_p20171125-r0.
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
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
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.8
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
CVE-2017-16879- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-787
- Updated
- 2026-11-02
CVE List No score
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
CVE-2017-16879- Updated
- 2026-11-02
EUVDEUVD-2017-8051 No score
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
EUVD-2017-8051- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-r8vx-h3vx-6wh2
7.8
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0...
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
GHSA-r8vx-h3vx-6wh2- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-787
- Updated
- 2026-11-02
OSVALPINE-CVE-2017-16879
7.8
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
ALPINE-CVE-2017-16879- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2017-16879
7.8
CVE-2017-16879 does not affect BellSoft software
- Record
BELL-CVE-2017-16879- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSV
7.8
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
CVE-2017-16879- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-16879
7.8
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
DEBIAN-CVE-2017-16879- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2017-16879
7.8
Stack-based buffer overflow in the _nc_write_entry function in tinfo/write_entry.c in ncurses 6.0 allows attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted terminfo file, as demonstrated by tic.
- Record
UBUNTU-CVE-2017-16879- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVMGASA-2018-0002 No score
Updated ncurses packages fix security vulnerabilities
Possible RCE via stack-based buffer overflow in the fmt_entry function (CVE-2017-10684).
Possible RCE with format string vulnerability in the fmt_entry function (CVE-2017-10685).
Illegal address access in append_acs (CVE-2017-11112).
Dereferencing NULL pointer in _nc_parse_entry (CVE-2017-11113).
Fix infinite loop in the next_char function in comp_scan.c (CVE-2017-13728).
Fix illegal address access in the _nc_save_str (CVE-2017-13729).
Fix illegal address access in the function _nc_read_entry_source() (CVE-2017-13730).
Fix illegal address access in the function postprocess_termcap() (CVE-2017-13731).
Fix illegal address access in the function dump_uses() (CVE-2017-13732).
Fix illegal address access in the fmt_entry function (CVE-2017-13733).
Fix stack-based buffer overflow in the _nc_write_entry() function (CVE-2017-16879).
- Record
MGASA-2018-0002- Updated
- 2026-11-02
OSVSUSE-SU-2017:3183-1 No score
Security update for ncurses
This update for ncurses fixes the following issues:
Security issues fixed:
- CVE-2017-13728: Fix infinite loop in the next_char function in comp_scan.c (bsc#1056136).
- CVE-2017-13729: Fix illegal address access in the _nc_save_str (bsc#1056132).
- CVE-2017-13730: Fix illegal address access in the function _nc_read_entry_source() (bsc#1056131).
- CVE-2017-13731: Fix illegal address access in the function postprocess_termcap() (bsc#1056129).
- CVE-2017-13732: Fix illegal address access in the function dump_uses() (bsc#1056128).
- CVE-2017-13733: Fix illegal address access in the fmt_entry function (bsc#1056127).
- CVE-2017-16879: Fix stack-based buffer overflow in the _nc_write_entry() function (bsc#1069530).
- Record
SUSE-SU-2017:3183-1- Updated
- 2026-11-02
OSVUSN-5477-1 No score
ncurses vulnerabilities
Hosein Askari discovered that ncurses was incorrectly performing memory management operations when dealing with long filenames while writing structures into the file system. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. (CVE-2017-16879)
Chung-Yi Lin discovered that ncurses was incorrectly handling access to invalid memory areas when parsing terminfo or termcap entries where the use-name had invalid syntax. An attacker could possibly use this issue to cause a denial of service. (CVE-2018-19211)
It was discovered that ncurses was incorrectly performing bounds checks when processing invalid hashcodes. An attacker could possibly use this issue to cause a denial of service or to expose sensitive information. (CVE-2019-17594)
It was discovered that ncurses was incorrectly handling end-of-string characters when processing terminfo and termcap files. An attacker could possibly use this issue to cause a denial of service or to expose sensitive information. (CVE-2019-17595)
It was discovered that ncurses was incorrectly handling end-of-string characters when converting between termcap and terminfo formats. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. (CVE-2021-39537)
It was discovered that ncurses was incorrectly performing bounds checks when dealing with corrupt terminfo data while reading a terminfo file. An attacker could possibly use this issue to cause a denial of service or to expose sensitive information. (CVE-2022-29458)
- Record
USN-5477-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
ncursesAlpine:v3.10 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.11 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.12 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.13 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.14 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.15 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.16 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.17 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.18 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.19 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ncursesAlpine:v3.20 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.21 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.22 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.23 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.24 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.4 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.5 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.6 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.7 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.8 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesAlpine:v3.9 |
before 6.0_p20171125-r0 | 6.0_p20171125-r0 |
ncursesDebian:12 |
before 6.0+20171125-1 | 6.0+20171125-1 |
ncursesDebian:13 |
before 6.0+20171125-1 | 6.0+20171125-1 |
ncursesDebian:14 |
before 6.0+20171125-1 | 6.0+20171125-1 |
ncursesMageia:6 |
before 6.0-8.1.mga6 | 6.0-8.1.mga6 |
ncursesSUSE:Linux Enterprise Software Development Kit 11 SP4 |
before 5.6-93.12.1 | 5.6-93.12.1 |
ncursesSUSE:Linux Enterprise Server 11 SP4 |
before 5.6-93.12.1 | 5.6-93.12.1 |
ncursesSUSE:Linux Enterprise Server for SAP Applications 11 SP4 |
before 5.6-93.12.1 | 5.6-93.12.1 |
ncursesUbuntu:Pro:14.04:LTS |
before 5.9+20140118-1ubuntu1+esm2, plus listed versions 5.9+20130608-1ubuntu15.9+20131221-1ubuntu15.9+20140118-1ubuntu15.9+20140118-1ubuntu1+esm1 |
5.9+20140118-1ubuntu1+esm2 |
ncursesUbuntu:Pro:16.04:LTS |
before 6.0+20160213-1ubuntu1+esm2, plus listed versions 5.9+20150516-2ubuntu16.0+20151024-2ubuntu16.0+20151024-2ubuntu26.0+20160213-1ubuntu16.0+20160213-1ubuntu1+esm1 |
6.0+20160213-1ubuntu1+esm2 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
packetstormsecurity.com/files/145045/GNU-ncurses-6.0-tic-Denial-Of-Service.html
security.gentoo.org/glsa/201804-13
invisible-island.net/ncurses/NEWS.html
tools.cisco.com/security/center/viewAlert.x?alertId=57695
lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4%40%3Cissues.bookkeeper.apache.org%3E
lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b%40%3Cissues.bookkeeper.apache.org%3E
Show 35 moreShow less
nvd.nist.gov/vuln/detail/CVE-2017-16879
lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b@%3Cissues.bookkeeper.apache.org%3E
lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4@%3Cissues.bookkeeper.apache.org%3E
github.com/advisories/GHSA-r8vx-h3vx-6wh2
security.alpinelinux.org/vuln/CVE-2017-16879
docs.bell-sw.com/security/cves/CVE-2017-16879
security-tracker.debian.org/tracker/CVE-2017-16879
advisories.mageia.org/MGASA-2018-0002.html
bugs.mageia.org/show_bug.cgi?id=21197
lists.opensuse.org/opensuse-updates/2017-07/msg00071.html
lists.opensuse.org/opensuse-updates/2017-08/msg00048.html
lists.opensuse.org/opensuse-security-announce/2017-12/msg00002.html
suse.com/support/update/announcement/2017/suse-su-20173183-1
bugzilla.suse.com/1056127
bugzilla.suse.com/1056128
bugzilla.suse.com/1056129
bugzilla.suse.com/1056131
bugzilla.suse.com/1056132
bugzilla.suse.com/1056136
bugzilla.suse.com/1069530
suse.com/security/cve/CVE-2017-13728
suse.com/security/cve/CVE-2017-13729
suse.com/security/cve/CVE-2017-13730
suse.com/security/cve/CVE-2017-13731
suse.com/security/cve/CVE-2017-13732
suse.com/security/cve/CVE-2017-13733
suse.com/security/cve/CVE-2017-16879
ubuntu.com/security/CVE-2017-16879
ubuntu.com/security/notices/USN-5477-1
cve.org/CVERecord?id=CVE-2017-16879
ubuntu.com/security/CVE-2018-19211
ubuntu.com/security/CVE-2019-17594
ubuntu.com/security/CVE-2019-17595
ubuntu.com/security/CVE-2021-39537
ubuntu.com/security/CVE-2022-29458