CVE-2026-84243 json
gettext: Directory traversal via the LANGUAGE environment variable
published 2026-10-30 9 d ago modified 2026-10-31 9 d ago also EUVD-2026-114247
- cvss
- 7.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 22%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-84243 updated cvss 7.0
glibc: glibc: Arbitrary code execution via directory traversal in LANGUAGE environment variable
-
Red Hat Enterprise Linux 6 nscd, glibc, glibc-utils, glibc-common, compat-glibc 2.5-46.2, glibc 2.39-145.el10_2affected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 7 nscd, glibc, glibc-utils, compat-glibc, glibc-common, compat-glibc 2.5-46.2, +1 more Red Hat Enterprise Linux 8 nscd, glibc, libnsl, nss_db, nss_hesiod, glibc-utils, +8 more Red Hat Enterprise Linux 9 nscd, glibc, libnsl, nss_db, nss_hesiod, glibc-utils, +7 more Red Hat Enterprise Linux 10 glibc 2.39-145.el10_2 Red Hat Hardened Images glibc 2.39-145.el10_2 Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9affected: workaround, no fix available
+1 more productsfewer
Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9 -
Red Hat OpenShift AI (RHOAI) rhoai/odh-core-bff-rhel9, rhoai/odh-dashboard-rhel9, rhoai/odh-mod-arch-maas-rhel9, rhoai/odh-mod-arch-automl-rhel9, rhoai/odh-mod-arch-gen-ai-rhel9, rhoai/odh-mod-arch-mlflow-rhel9, +6 moreunder investigation
-
Red Hat Hardened Images filesystem 3.18-59.1.hum1 Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9, rhoai/odh-kube-rbac-proxy-rhel9, rhoai/odh-maas-controller-rhel9, rhoai/odh-mlflow-operator-rhel9, rhoai/odh-model-controller-rhel9, rhoai/odh-ogx-k8s-operator-rhel9, +14 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 10 d ago
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 22% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- The GNU C Library glibc
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
inbox.sourceware.org
/libc-alpha/20261012112453.47383-1-avinal.xlvii@gmail.com
mailing-list, patch
-
sourceware.org
/git/?p=glibc.git;a=blob_plain;f=advisories/GLIBC-SA-2026-0025
vendor-advisory
-
sourceware.org
/bugzilla/show_bug.cgi?id=17142
issue-tracking
Sources
- CVE List CVE-2026-84243
- NVD CVE-2026-84243
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.