Skip to main content

GNU Wget EUVDEUVD-2026-84682

| CVE-2026-94574 HIGH
2026-09-22 certcc GHSA-cffj-rwgw-j9q9
7.8
CVSS 3.1 · Vendor: certcc
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain unprivileged local access to Windows host
  2. Delivery
    Plant malicious wgetrc in user-writable C:\msys64
  3. Exploit
    Set use_askpass to attacker executable
  4. Execution
    Privileged user runs wget, loads config
  5. Impact
    Attacker code executes as that user (privilege escalation)

Vulnerability Assessment

Exploitation Conditions

Requires the Windows build of GNU wget from eternallybored.org (versions 0 through ≤1.21.4) installed on the host. Exploitation depends on the hardcoded configuration path C:\msys64 being writable by unprivileged users (the default insecure condition), local access as a low-privileged user to plant the config, and - critically - a separate higher-privileged user or context subsequently invoking wget so it reads the planted wgetrc and triggers the use_askpass directive (this is the UI:R limiting factor). The attack is not remotely reachable (AV:L) and does not fire on its own; without a privileged victim running the affected wget build, there is no privilege escalation.

Impact

The CVSS 3.1 base score of 7.8 (vector AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) correctly frames this as a LOCAL cross-user code-execution / privilege-escalation issue, not a remote-exploitable flaw - the AV:L is decisive and should temper any alarm raised by the 'RCE' tag, which here means arbitrary code execution locally rather than network RCE. There is no EPSS score, no CISA KEV listing, and no flagged public exploit in the provided data, so all three exploitation signals point to a non-widespread, opportunistic risk profile rather than active mass exploitation. The SSVC/kill-chain reality is that exploitation is neither automatable nor remotely reachable: it requires an attacker to already have an unprivileged foothold on the specific Windows host AND a higher-privileged user (or scheduled/service context) to subsequently run the vulnerable wget build, so it is a credible local-privesc primitive but a lower operational priority than any network-facing HIGH. One inconsistency to verify: the vector uses PR:N (any unprivileged local user can write the config) combined with UI:R (a victim must run wget) - this is internally coherent for a config-planting attack, but note the CWE is listed as N/A despite the description clearly matching CWE-732 (incorrect permissions / user-writable trusted path), so the classification metadata is incomplete. The atos.net reference is a narrative writeup, not a weaponized exploit, so POC availability should be treated as unconfirmed.

Exploit ScenarioDerived

On a shared Windows host, a low-privileged attacker writes a malicious wget configuration file to the hardcoded, user-writable C:\msys64 path and includes a use_askpass directive pointing at an attacker-controlled executable. When an administrator or higher-privileged user later runs the eternallybored.org wget build, it loads the planted config and executes the askpass binary in that user's context, yielding cross-user code execution and privilege escalation. No public weaponized exploit is identified in the provided data, though a narrative writeup (atos.net) describes the technique.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 23, 2026

Local cross-user code execution with privilege-escalation potential affects the Windows builds of GNU wget distributed by eternallybored.org (releases 0 through 1.21.4 inclusive). The flaw is a hardcoded configuration location, C:\msys64, that unprivileged users can write to: a low-privileged local attacker who plants a wgetrc there can abuse the use_askpass directive so that arbitrary code is executed in the security context of a higher-privileged user who later runs the affected wget build. The attack is not remotely reachable and does not trigger on its own, which is captured by the UI:R component of the CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, base 7.8), and no public exploit code was identified at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis, so remediation is compensating-control driven. The primary action is to eliminate the writable-directory precondition: tighten the ACLs on C:\msys64 - and specifically on any wgetrc file and directory beneath it - so that ordinary Users/Authenticated Users cannot create or modify files there, granting write access only to Administrators and SYSTEM; verify the change with icacls and monitor the path for unexpected file creation, since a permissive inherited ACL may silently re-apply. A second, complementary control is to override configuration discovery for privileged invocations by setting the WGETRC environment variable (or passing the equivalent configuration override) to a path inside a directory that unprivileged users cannot write, so the hardcoded C:\msys64 wgetrc is never consulted in the elevated context; the trade-off is that this overrides legitimate per-user configuration and must be applied consistently in the higher-privileged context (service definitions, scheduled tasks, administrative scripts), otherwise the vulnerable file remains reachable. Administrators who do not require the eternallybored.org build should replace it with a maintained Windows build or run wget from an environment where the toolchain prefix is not a shared, user-writable location; removing or uninstalling the affected build removes the exposure entirely. Where elimination is impractical, restrict which accounts may be logged on to the machine and audit for newly created wgetrc files or unexpected child processes spawned by wget (use_askpass invocations) as a detection tripwire. Track https://eternallybored.org/misc/wget/ and https://nvd.nist.gov/vuln/detail/CVE-2026-94574 for a fixed build, and treat any future release above 1.21.4 as unverified for this issue until the vendor confirms the hardcoded path has been corrected.

Affected VersionsENISA

Wget 0 ≤1.21.4

Affected Packages

euvd wget no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected binaries are third-party Windows builds of GNU wget produced with an MSYS2/MinGW toolchain and distributed via eternallybored.org; those builds bake in C:\msys64 as a fixed path rather than resolving their configuration location dynamically or honoring the real user profile. GNU wget reads startup directives from a wgetrc file, and among those directives is use_askpass, which tells wget to launch an external helper program to obtain credentials such as an HTTP password. When the configuration directory (C:\msys64) is writable by unprivileged users - the default insecure condition cited in the assessment - a local attacker can drop or modify a wgetrc containing a use_askpass line pointing at an attacker-controlled executable. Any subsequently started wget process that reads that file, including one launched by a separate higher-privileged user or service context, will execute the attacker's program with that victim's privileges, yielding cross-user code execution and potential local privilege escalation. The CPE cpe:2.3:a:gnu_wget_(windows_builds):wget:*:*:*:*:*:*:*:* scopes the issue to the Windows distribution channel rather than upstream GNU wget generally. No CWE identifier was supplied in the source data; the underlying weakness class is closest to uncontrolled search/config path resolution combined with incorrect permission assignment on a location that is trusted by the application, i.e. attacker-influenced input consumed by a privileged execution context. The AV:L metric is decisive here: despite the 'RCE' tag, this is locally reachable arbitrary code execution, not network RCE.

Know when Wget gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (certcc) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Local config-planting by any unprivileged user (AV:L, PR:N) that only executes when a privileged victim runs wget (UI:R), yielding full code execution in that user's context (C/I/A:H).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.8 HIGH

Primary rating from Vendor (certcc).

CVSS VectorVendor: certcc

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
CVSS changed
Sep 23, 2026 - 13:22 NVD
7.8 (HIGH)
CVE Published
Sep 22, 2026 - 19:18 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 22, 2026 - 19:18 cve.org
HIGH 7.8

DescriptionCVE.org

A local cross-user code execution vulnerability exists in GNU wget (Windows builds from eternallybored.org) due to a hardcoded configuration file path (C:\msys64) that is writable by unprivileged users, allowing for arbitrary code execution via the use_askpass directive, potentially allowing local privilege escalation.

Executive ViewAI

Why It Matters

Windows builds of GNU wget distributed by eternallybored.org (releases 0 through 1.21.4) contain a local privilege-escalation flaw that lets any unprivileged user on a shared machine plant a wgetrc configuration file so that code executes in the security context of a higher-privileged user who later runs that build. Because these binaries ship outside the normal vendor update channel, they can persist unmanaged on developer workstations, jump hosts, and build servers, where a single low-privilege foothold can be converted into administrator-equivalent access. Leadership should care because the issue rates HIGH (CVSS 7.8), no public exploit was identified at time of analysis, and no vendor-released patch is available, so risk reduction depends entirely on inventorying and replacing these builds.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations are to remove or replace the affected eternallybored.org wget builds (up to and including 1.21.4), restrict write access to C:\msys64 to Administrators only, block execution of the vulnerable binaries via application allowlisting, monitor for wgetrc creation in that directory, and treat any planted wgetrc as an active privilege-escalation indicator.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
eternallybored.org is a popular third-party Windows wget build, not ubiquitous in production
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Wget

View all
CVE-2014-4877 CRITICAL POC
9.3 Oct 29

Absolute path traversal vulnerability in GNU Wget before 1.16, when recursion is enabled, allows remote FTP servers to w

CVE-2016-4971 HIGH POC
8.8 Jun 30

GNU wget before 1.18 allows remote servers to write to arbitrary files by redirecting a request from HTTP to a crafted F

CVE-2017-13089 HIGH
8.8 Oct 27

The http.c:skip_short_body() function is called in some circumstances, such as when processing redirects. Rated high sev

CVE-2016-7098 HIGH POC
8.1 Sep 26

Race condition in wget 1.17 and earlier, when used in recursive or mirroring mode to download a single file, might allow

CVE-2018-20483 HIGH POC
7.8 Dec 26

set_file_metadata in xattr.c in GNU Wget before 1.20.1 stores a file's origin URL in the user.xdg.origin.url metadata at

CVE-2017-13090 HIGH
8.8 Oct 27

The retr.c:fd_read_body() function is called when processing OK responses. Rated high severity (CVSS 8.8), this vulnerab

CVE-2018-0494 MEDIUM POC
6.5 May 06

GNU Wget before 1.19.5 is prone to a cookie injection vulnerability in the resp_new function in http.c via a \r\n sequen

CVE-2017-6508 MEDIUM POC
6.1 Mar 07

CRLF injection vulnerability in the url_parse function in url.c in Wget through 1.19.1 allows remote attackers to inject

CVE-2019-5953 CRITICAL
9.8 May 17

Buffer overflow in GNU Wget 1.20.1 and earlier allows remote attackers to cause a denial-of-service (DoS) or may execute

CVE-2024-38428 CRITICAL
9.1 Jun 16

url.c in GNU Wget through 1.24.5 mishandles semicolons in the userinfo subcomponent of a URI, and thus there may be inse

CVE-2026-58469 HIGH
8.7 Jul 07

Denial of service in GNU Wget through 1.25.0 lets a malicious or compromised HTTP(S) server crash the client by serving

CVE-2026-58470 MEDIUM
6.9 Jul 07

Integer overflow in GNU Wget through 1.25.0 allows a malicious or compromised web server to corrupt client download sess

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SLES15-SP5-CHOST-BYOS-SAP-CCloud Not-Affected
SLES15-SP6-CHOST-BYOS Not-Affected
SLES15-SP6-CHOST-BYOS-Aliyun Not-Affected
SLES15-SP6-CHOST-BYOS-Azure Not-Affected
SLES15-SP6-CHOST-BYOS-EC2 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy