Browse / CVEs / CVE-2024-29868
CVE-2024-29868· apache / streampipes· CWE-338
Apache StreamPipes <= 0.93.0 - Use of Cryptographically Weak PRNG in Recovery Token Generation
criticalseverity
6%likelihood of exploitation, next 30 days
93%of all CVEs are less likely
Readycheck to confirm it
Apache StreamPipes from version 0.69.0 through 0.93.0 uses a cryptographically weak Pseudo-Random Number Generator (PRNG) in the recovery token generation mechanism. Given a valid token it's possible to predict all past and future generated tokens.
Impact
Successful exploitation of this vulnerability could allow an attacker to take over user accounts.
Fix
Update to Apache StreamPipes 0.95.0 or later.
How to confirm it
Send: GET {{BaseURL}}/streampipes-backend/api/v2/auth/settings
Send: GET {{BaseURL}}/streampipes-backend/api/openapi.json
Positive when: contains(settings, true) and compare_versions(version, '>= 0.69.0') && compare_versions(version, '<= 0.93.0')Run it with nuclei: nuclei -id CVE-2024-29868 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2024-29868
info:
name: Apache StreamPipes <= 0.93.0 - Use of Cryptographically Weak PRNG in Recovery Token Generation
author: Alessandro Albani - DEVisions
severity: critical
description: |
Apache StreamPipes from version 0.69.0 through 0.93.0 uses a cryptographically weak Pseudo-Random Number Generator (PRNG) in the recovery token generation mechanism. Given a valid token it's possible to predict all past and future generated tokens.
impact: |
Successful exploitation of this vulnerability could allow an attacker to take over user accounts.
remediation: |
Update to Apache StreamPipes 0.95.0 or later.
reference:
- https://labs.yarix.com/2024/06/cve-2024-29868
- https://www.cve.org/CVERecord?id=CVE-2024-29868
- https://lists.apache.org/thread/g7t7zctvq2fysrw1x17flnc12592nhx7
- https://nvd.nist.gov/vuln/detail/CVE-2024-29868
classification:
cve-id: CVE-2024-29868
cwe-id: CWE-338
epss-score: 0.05995
epss-percentile: 0.93381
cpe: cpe:2.3:a:apache:streampipes:*:*:*:*:*:*:*:*
metadata:
max-request: 2
shodan-query: http.title:"apache streampipes"
fofa-query: title="apache streampipes"
product: streampipes
vendor: apache
tags: cve,cve2024,apache,streampipes,account-takeover,passive,vuln
flow: http(1) && http(2)
http:
- method: GET
path:
- '{{BaseURL}}/streampipes-backend/api/v2/auth/settings'
headers:
User-Agent: "{{randstr}}"
extractors:
- type: json
part: body
name: settings
group: 1
json:
- 'if .allowPasswordRecovery==true and .allowSelfRegistration==true then true else false end'
internal: true
- method: GET
path:
- '{{BaseURL}}/streampipes-backend/api/openapi.json'
headers:
User-Agent: "{{randstr}}"
extractors:
- type: json
part: body
name: version
group: 1
json:
- '.info.version'
internal: true
matchers:
- type: dsl
dsl:
- 'contains(settings, true)'
- "compare_versions(version, '>= 0.69.0') && compare_versions(version, '<= 0.93.0')"
condition: andReferences
- https://labs.yarix.com/2024/06/cve-2024-29868
- https://www.cve.org/CVERecord?id=CVE-2024-29868
- https://lists.apache.org/thread/g7t7zctvq2fysrw1x17flnc12592nhx7
- https://nvd.nist.gov/vuln/detail/CVE-2024-29868
Use this check only on systems you are authorised to test. Where the data comes from