Cyber Resilience

CVE-2023-31473

RCE in Gl-Inet Gl-S20 Firmware ≤ 3.216

Published
11 May 2023
Modified
27 January 2025
Patch / advisory
CVSS Score v3.1 4.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
EPSS Score 0.039 89th percentile
Risk Priority 45 floored blend · peak EPSS

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, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked in the top 11% 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

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

MITRE ATT&CK Enterprise Techniques

T1059 Command and Scripting Interpreter Execution
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1059.001 PowerShell Execution
Adversaries may abuse PowerShell commands and scripts for execution.
T1059.003 Windows Command Shell Execution
Adversaries may abuse the Windows command shell for execution.
T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
T1059.008 Network Device CLI Execution
Adversaries may abuse scripting or built-in command line interpreters (CLI) on network devices to execute malicious command and payloads.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-31475Same product: Gl-Inet Gl-A1300
CVE-2023-50445Same product: Gl-Inet Gl-A1300
CVE-2023-31476Same product: Gl-Inet Gl-Mv1000
CVE-2023-31477Same product: Gl-Inet Gl-A1300
CVE-2025-67089Same product: Gl-Inet Gl-Axt1800
CVE-2023-31474Same product: Gl-Inet Gl-A1300
CVE-2023-31478Same product: Gl-Inet Gl-A1300
CVE-2026-26791Same vendor: Gl-Inet
CVE-2026-26793Same vendor: Gl-Inet
CVE-2026-26795Same vendor: Gl-Inet

Affected Assets

gl-inet
gl-s20 firmware
≤ 3.216
gl-inet
gl-x3000 firmware
≤ 3.216
gl-inet
gl-mt3000 firmware
≤ 3.216
gl-inet
gl-mt2500 firmware
≤ 3.216
gl-inet
gl-mt2500a firmware
≤ 3.216
gl-inet
gl-axt1800 firmware
≤ 3.216
gl-inet
gl-a1300 firmware
≤ 3.216
gl-inet
gl-ax1800 firmware
≤ 3.216
gl-inet
gl-sft1200 firmware
≤ 3.216
gl-inet
gl-mt1300 firmware
≤ 3.216
+22 more product configuration(s) — see NVD for full list

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.2.3
  • V1.2.5
  • V1.2.8
  • V1.2.9

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require input validation and neutralization that prevent command injection.

DE.CM-09 partial match
prevents

Runtime monitoring of software and data can detect anomalous command execution resulting from injection.

ID.RA-01 partial match
prevents

Identifying recorded vulnerabilities enables remediation of command-injection flaws before exploitation.

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.

prevents

Secure coding standards require proper escaping and parameterization of commands, directly eliminating CWE-77.

finds

Security testing in development catches command-injection vulnerabilities before release.

prevents

Secure development life cycle mandates input validation and command construction practices that directly prevent command injection.

prevents

Application security requirements explicitly call for controls against injection flaws including command injection.

prevents

Secure architecture principles reduce the attack surface but do not prescribe the specific neutralization techniques needed.

none

Environment separation limits the blast radius of an exploited command injection but does not prevent the flaw itself.

References