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.
Affected products
openwrt: openwrt
References5
- github.com/openwrt/openwrt/security/advisories/GHSA-jw5r-xhf5-2… Vendor AdvisoryExploit
- github.com/openwrt/openwrt/security/advisories/GHSA-jw5r-xhf5-2… Vendor AdvisoryExploit
- github.com/openwrt/cgi-io/commit/72990b7489872112df31c94032637c… Patch
- github.com/openwrt/cgi-io/pull/4 Issue TrackingPatch
- github.com/openwrt/openwrt/releases/tag/v25.12.5 Release Notes
Metrics
- CVSS 3.1
-
4.9
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N - EPSS — exploit probability
- 1% percentile: 45 · as of 15 November 2026
- CWE
- CWE-22
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.