Directory traversal in glibc gettext via LANGUAGE variable
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
The gettext functions in the GNU C Library (glibc) from version 2.0 accept LANGUAGE environment entries that contain '/' or equal '..', except in setuid or setgid programs. This directory traversal (CWE-22) lets a program load message catalogs from arbitrary file system locations instead of trusted, read-only directories. An attacker who can set LANGUAGE and another installed locale, and place a crafted .mo file where the program can read it, may crash the program or allow arbitrary code execution with the program's privileges.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
The gettext family of functions in the GNU C Library version 2.0 and later accept LANGUAGE environment variable entries that contain '/' or that are equal to "..", unless the program is setuid or setgid (AT_SECURE). An attacker who can set LANGUAGE in the environment of a program that uses gettext can make it load a message catalog (.mo file) from an arbitrary location in the file system. A crafted .mo file can crash the program through out-of-range offsets, or supply translations whose format directives do not match the arguments passed by the program. That causes undefined behaviour in the printf family of functions and may allow arbitrary code execution with the privileges of the program. The safety of message catalogs relies on them being installed in trusted, read-only locations, and the directory traversal bypasses this. The fix for CVE-2014-0475 rejects ".." path components in locale names passed to setlocale or taken from the LC_ALL, LC_* and LANG environment variables. gettext reads LANGUAGE directly and appends each colon-separated entry to the message catalog directory, so that fix did not cover LANGUAGE. LANGUAGE is only used when the LC_MESSAGES locale is not "C", "C.<encoding>" or "POSIX", so the attacker must also be able to select another installed locale, for example through LANG or LC_ALL. Exploitation also requires that the attacker can place the crafted file in a location readable by the target program, and that the environment crosses a trust boundary without the program running as AT_SECURE. An example is an SSH server that accepts LANGUAGE and LANG from clients through the AcceptEnv directive and restricts an account to a forced command; the attacker may use this to escape the restriction.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for glibc. Red Hat lists glibc as affected without a fix for Red Hat Enterprise Linux 6 (no fix planned), Red Hat Enterprise Linux 7, 8, 9 and 10, Red Hat Hardened Images, Red Hat OpenShift Container Platform 4 and 5 (none available), and Red Hat OpenShift AI (RHOAI) (no plan given).
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet |
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat Hardened Images | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | — |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet |
Not affected: 2 products
- Red Hat Hardened Images
- Red Hat OpenShift AI (RHOAI)
Timeline
- 2026-10-30 Threatist record created from CVE-2026-84243
- 2026-10-30 Alias added: GHSA-8rvm-662m-jvqv
- 2026-10-31 Affected versions changed · Red Hat
- 2026-10-31 CVSS score added · Red Hat
- 2026-10-31 CISA SSVC decision points changed
- 2026-10-31 Priority changed: MEDIUM → LOW
- 2026-10-31 Affected versions changed · Red Hat
- 2026-11-02 Affected versions changed · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
References
More GNU vulnerabilities
- TI-2026-19388 telnetd in GNU Inetutils through 2.7 allows remote authentication bypass via a "-f root"… KEVCVSS 3.1CRITICAL 9.8
- TI-2014-05975 GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed… KEVCVSS 3.1CRITICAL 9.8
- TI-2014-05157 GNU Bash through 4.3 processes trailing strings after function definitions in the values… KEVCVSS 3.1CRITICAL 9.8
- TI-2014-05164 GNU Bash through 4.3 bash43-026 does not properly parse function definitions in the… KEVCVSS 3.1HIGH 8.8
- TI-2023-04522 Glibc: buffer overflow in ld.so leading to privilege escalation KEVCVSS 3.1HIGH 7.8
- TI-2009-03392 The TLS protocol, and the SSL protocol 3.0 and possibly earlier, as used in Microsoft… CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-84243 · CVE Program
- CVE-2026-84243 · NVD
- FIRST EPSS
- GHSA-8rvm-662m-jvqv · GitHub Advisory Database · CC BY 4.0
- CVE-2026-84243 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences