Raw vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:NCVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.
Summary
CVE-2023-31473 is a medium-severity Command Injection (CWE-77) vulnerability in Gl-Inet Gl-S20 Firmware. Its CVSS base score is 4.9 (Medium).
Operationally, ranked in the top 10% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-35778
Vulnerability Data
An issue was discovered on GL.iNet devices before 3.216. There is an arbitrary file write in which an empty file can be created anywhere on the filesystem. This is caused by a command injection vulnerability with a filter applied. Through…
more
the software installation feature, it is possible to inject arbitrary parameters in a request to cause opkg to read an arbitrary file name while using root privileges. The -f option can be used with a configuration file.
- CWE(s)
Related Threats
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
A.8.25 mandates secure SDLC practices including secure coding guidelines, security requirements, checkpoints, testing (scans/penetration), and developer training that reduce command injection defects, but leaves a minority slice (e.g. incomplete implementation of those practices, outsourced development without full assurance, or post-SDLC changes) where the weakness can still arise and be exploitable.
Application security requirements explicitly call for controls against injection flaws including command injection.
A.8.27 mandates security-by-design principles (e.g. distrust external input, secure session control, data validation/sanitization, least privilege) and design reviews that can stop command injection from being introduced, but this is only a minority slice of CWE-77 because the weakness can still arise in code that bypasses those principles, in non-reviewed components, or in runtime injection vectors the architecture review does not reach.
Secure coding standards require proper escaping and parameterization of commands, directly eliminating CWE-77.
Security testing in development catches command-injection vulnerabilities before release.
Hardening callouts derived
DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.
- No fine-grained STIG row for CWE-77, a class-level weakness, and none of its children carries one either.