CVE-2014-5119
NoneCVSS
—
EPSS
17.0%
Published
Aug 29, 2014
CISA due date
—
Cloudanix analysis
A bug in basic system libraries could let attackers crash programs or take them over by tricking the system during text format conversions.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Off-by-one error in __gconv_translit_find allows buffer overflow or memory corruption via crafted CHARSET environment variable, enabling denial of service or arbitrary code execution.
Why it matters to the business
Affected systems risk crashes or full compromise, causing service outages and potential unauthorized access in environments using glibc for character handling, with moderate exploit likelihood.
How an attack unfolds
An attacker supplies a malicious CHARSET environment variable to trigger gconv transliteration module processing, exploiting the off-by-one write to corrupt adjacent memory structures for code execution or crash.
How to fix it
Upgrade to fixed package versions: trillian (Chainguard) 1.6.0-r1, trillian (Wolfi) 1.6.0-r1, trillian-logserver (Chainguard) 1.6.0-r1, trillian-logserver (Wolfi) 1.6.0-r1, trillian-logsigner (Chainguard) 1.6.0-r1, trillian-logsigner (Wolfi) 1.6.0-r1.
How to confirm the fix worked
Confirm installed package versions meet or exceed listed fixed versions and test character conversion paths with boundary CHARSET values.
Typical attack path
- Craft and set malicious CHARSET environment variable
- Invoke application or service that performs gconv-based character conversion
- Trigger off-by-one memory corruption to achieve code execution or denial of service
How to detect it
Review process startup logs and environment variable captures for suspicious CHARSET values; inspect core dumps or crash reports involving gconv_trans.c functions.
What your security team should do
- Apply listed package upgrades immediately due to public exploit availability
- Restrict untrusted environment variable propagation in services
- Audit dependent applications for glibc usage and prioritize updates
The record
Off-by-one error in the __gconv_translit_find function in gconv_trans.c in GNU C Library (aka glibc) allows context-dependent attackers to cause a denial of service (crash) or execute arbitrary code via vectors related to the CHARSET environment variable and gconv transliteration modules.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | glibc | 0 | 2.19-10 |
| Debian:11 | glibc | 0 | 2.19-10 |
| Debian:12 | glibc | 0 | 2.19-10 |
| Debian:13 | glibc | 0 | 2.19-10 |
| Debian:6.0 | eglibc | 0 | 2.11.3-4+deb6u1 |
| Debian:7 | eglibc | 0 | 2.13-38+deb7u4 |
| Mageia:3 | glibc | 0 | 2.17-7.5.mga3 |
| Mageia:4 | glibc | 0 | 2.18-9.4.mga4 |
| Red Hat:enterprise_linux:5::client | glibc | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | glibc-common | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | glibc-debuginfo | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | glibc-debuginfo-common | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | glibc-devel | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | glibc-headers | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | glibc-utils | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::client | nscd | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc-common | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc-debuginfo | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc-debuginfo-common | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc-devel | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc-headers | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | glibc-utils | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:5::server | nscd | 0 | 0:2.5-118.el5_10.3 |
| Red Hat:enterprise_linux:6::client | glibc | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-debuginfo | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-debuginfo-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-devel | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-headers | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-static | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | glibc-utils | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::client | nscd | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-debuginfo | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-debuginfo-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-devel | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-headers | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-static | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | glibc-utils | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::computenode | nscd | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-debuginfo | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-debuginfo-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-devel | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-headers | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-static | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | glibc-utils | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::server | nscd | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-debuginfo | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-debuginfo-common | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-devel | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-headers | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-static | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | glibc-utils | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:6::workstation | nscd | 0 | 0:2.12-1.132.el6_5.4 |
| Red Hat:enterprise_linux:7::client | glibc | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-debuginfo | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-debuginfo-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-devel | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-headers | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-static | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | glibc-utils | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::client | nscd | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-debuginfo | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-debuginfo-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-devel | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-headers | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-static | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | glibc-utils | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::computenode | nscd | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-debuginfo | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-debuginfo-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-devel | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-headers | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-static | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | glibc-utils | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::server | nscd | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-debuginfo | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-debuginfo-common | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-devel | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-headers | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-static | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | glibc-utils | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | nscd | 0 | 0:2.17-55.el7_0.1 |
| Red Hat:rhel_eus:5.9 | glibc | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | glibc-common | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | glibc-debuginfo | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | glibc-debuginfo-common | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | glibc-devel | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | glibc-headers | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | glibc-utils | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:5.9 | nscd | 0 | 0:2.5-107.el5_9.7 |
| Red Hat:rhel_eus:6.4::computenode | glibc | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-common | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-debuginfo | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-debuginfo-common | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-devel | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-headers | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-static | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | glibc-utils | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::computenode | nscd | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-common | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-debuginfo | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-debuginfo-common | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-devel | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-headers | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-static | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | glibc-utils | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_eus:6.4::server | nscd | 0 | 0:2.12-1.107.el6_4.6 |
| Red Hat:rhel_mission_critical:5.6 | glibc | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | glibc-common | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | glibc-debuginfo | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | glibc-debuginfo-common | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | glibc-devel | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | glibc-headers | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | glibc-utils | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:5.6 | nscd | 0 | 0:2.5-58.el5_6.5 |
| Red Hat:rhel_mission_critical:6.2::server | glibc | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-common | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-debuginfo | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-debuginfo-common | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-devel | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-headers | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-static | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | glibc-utils | 0 | 0:2.12-1.47.el6_2.13 |
| Red Hat:rhel_mission_critical:6.2::server | nscd | 0 | 0:2.12-1.47.el6_2.13 |
| Ubuntu:14.04:LTS | eglibc | 0 | 2.19-0ubuntu6.3 |
| openSUSE:Tumbleweed | glibc | 0 | 2.24-2.3 |
Related vulnerabilities
- CVE-2021-3326 The iconv function in the GNU C Library (aka glibc or libc6) 2.32 and earlier, when… Also affects glibc
- CVE-2015-5180 res_query in libresolv in glibc before 2.25 allows remote attackers to cause a denial of… Also affects glibc
- CVE-2016-10228 The iconv program in the GNU C Library (aka glibc or libc6) 2.31 and earlier, when… Also affects glibc
- CVE-2015-0235 Heap-based buffer overflow in the __nss_hostname_digits_dots function in glibc 2.2, and… Also affects glibc
- CVE-2013-2207 pt_chown in GNU C Library (aka glibc or libc6) before 2.18 does not properly check… Also affects glibc
- CVE-2012-4412 Integer overflow in string/strcoll_l.c in the GNU C Library (aka glibc or libc6) 2.17 and… Also affects glibc
- CVE-2013-4788 The PTR_MANGLE implementation in the GNU C Library (aka glibc or libc6) 2.4, 2.17, and… Also affects glibc
- CVE-2010-4052 Stack consumption vulnerability in the regcomp implementation in the GNU C Library (aka… Also affects glibc