CVE-2026-62947

OpenWrt: ACL bypass and arbitrary root file read via cgi-io cgi-download

Published Jul 15, 2026 CVSS 3.1 · 4.9 Medium EPSS < 1% KEV · Not listed
Description
OpenWrt is a Linux operating system targeting embedded devices. Prior to 25.12.5, the cgi-download handler in cgi-io authorizes the requested path against the caller's ubus session file ACL before canonicalization, and rpcd session.c uses fnmatch() without FNM_PATHNAME, allowing traversal such as an allowed wildcard prefix followed by ../ to read root-readable files including /etc/shadow. This vulnerability is fixed in 25.12.5.

Analysis

AI-generated

Technical impact

The flaw resides in OpenWrt’s cgi-download handler, which validates the requested path against the caller’s ubus session file ACL before performing canonicalization. The lack of path normalisation allows an attacker to specify a path that matches an authorised wildcard prefix followed by "/../", enabling traversal into directories containing system files. An attacker can therefore read any root‑readable file such as "/etc/shadow", obtaining sensitive credentials. This constitutes a remote file read vulnerability.

Affected Systems

The vulnerability applies to all OpenWrt releases before version 25.12.5. Any device running an affected OpenWrt firmware that exposes the cgi-io download interface is at risk. The vendor does not list specific model or patch level variants beyond the excluded 25.12.5 release.

Risk and Exploitability

The CVSS score is 4.9, indicating a moderate impact with limited privileges needed; the EPSS score is less than 1%, suggesting a low probability of exploitation at present. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is initiating an HTTP request to the vulnerable cgi-download endpoint from an unauthorised client, assuming network exposure of the interface. No additional exploitation conditions are described beyond the path traversal privilege issue.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the OpenWrt firmware to 25.12.5 or later, which removes the path traversal check.
  • If immediate upgrade is not possible, disable or restrict access to the cgi-io download endpoint through local firewall rules until a fix is applied.
  • Ensure ubus session ACLs are strictly defined and do not permit wildcard prefixes that could be abused for traversal.

Generated by OpenCVE AI on July 31, 2026 at 03:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Openwrt
Openwrt openwrt
Vendors & Products Openwrt
Openwrt openwrt
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description OpenWrt is a Linux operating system targeting embedded devices. Prior to 25.12.5, the cgi-download handler in cgi-io authorizes the requested path against the caller's ubus session file ACL before canonicalization, and rpcd session.c uses fnmatch() without FNM_PATHNAME, allowing traversal such as an allowed wildcard prefix followed by ../ to read root-readable files including /etc/shadow. This vulnerability is fixed in 25.12.5.
Title OpenWrt: ACL bypass and arbitrary root file read via cgi-io cgi-download
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 4.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N'}

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 15, 2026, 7:31 PM
Reserved
Jul 14, 2026, 10:32 PM
Status
Analyzed
Published
Jul 15, 2026, 7:18 PM
Modified
Jul 21, 2026, 4:06 PM