Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-84243— gettext: Directory traversal via the LANGUAGE environment variable

Quick assessment

Affected
The GNU C Library glibc
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 GNU C 库(glibc)2.0 及更高版本中,gettext 函数族会接受 环境变量中包含 或等于 的条目,除非该程序已设置为 setuid 或 setgid(即启用了 标志)。若攻击者能够设置使用 gettext 的程序的 环境变量,则可使该程序从文件系统的任意位置加载消息目录( 文件)。精心构造的 文件可通过越界偏移导致程序崩溃,或提供与程序传递的参数不匹配的格式指令的翻译内容。这将引发 函数族中的未定义行为,并可能在拥有该程序权限的情况下实现任意代码执行。消息目录的安全性依赖于其被安装在受信任且只读的

CVSS 7.0 · High

Affected Version Matrix 1

VendorProduct Version RangeStatus
The GNU C Library glibc 2.0< * affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-84243

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
gettext: Directory traversal via the LANGUAGE environment variable
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
对路径名的限制不恰当(路径遍历)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
The GNU C Library glibc 2.0 ~ * -

II. Public POCs for CVE-2026-84243

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-84243

请登录查看更多情报信息。

Other References for CVE-2026-84243 (3)

IV. Related Vulnerabilities