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.78441 epss-percentile: 0.99054 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: and # digest: 490a0046304402207102d680747d106d5266b7f2f6f00317f4754a6d8d26133fdff1b5a50d8e65b202203985e3fe8e3bfee8fdc5f6e504cc032706a3e2e1df7e9f078cf0b41f196d59dc:922c64590222798bb761d5b6d8e72950