|
| 1 | +--- |
| 2 | +title: Rasa (un)authenticated Remote Code Execution via remote model loading (CVE-2024-49375) |
| 3 | +header: Rasa (un)authenticated Remote Code Execution via remote model loading (CVE-2024-49375) |
| 4 | +tags: ['advisories', 'writeup'] |
| 5 | +cwes: ["CWE-94 (Improper Control of Generation of Code ('Code Injection'))", "CWE-502 (Deserialization of Untrusted Data)"] |
| 6 | +affected_product: 'rasa (pip) <3.6.21 and rasa-pro (pip) <3.10.12, <3.9.16, <3.8.18' |
| 7 | +vulnerability_release_date: '2025-01-14' |
| 8 | +--- |
| 9 | + |
| 10 | +During an internal penetration test a product was checked which uses [Rasa](https://rasa.com/) to build a conversational AI. A mixture of penetration testing and source code analysis led to the discovery of an (un)authenticated Remote Code Execution.<!--more--> |
| 11 | + |
| 12 | +### TL;DR |
| 13 | +**Which versions are affected?** |
| 14 | +* rasa (pip) <3.6.21 |
| 15 | +* rasa-pro (pip) <3.10.12, <3.9.16, <3.8.18 |
| 16 | + |
| 17 | +**Are fixed versions available?**\ |
| 18 | +Yes, namely: |
| 19 | +* rasa (pip) 3.6.21 |
| 20 | +* rasa-pro (pip) 3.10.12, 3.9.16, 3.8.18 |
| 21 | + |
| 22 | +**Does Rasa need to be patched?**\ |
| 23 | +Yes and as fast as possible due to its severity (critical, 9.1/10, CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H). Additional information on the fix and the mitigation advice can be found at [GitHub](https://github.com/RasaHQ/rasa-pro-security-advisories/security/advisories/GHSA-cpv4-ggrr-7j9v). |
| 24 | + |
| 25 | +The RCE vulnerability affects systems running Rasa as follows: |
| 26 | + |
| 27 | +- Default configuration: not affected by RCE |
| 28 | +- [HTTP API enabled](https://rasa.com/docs/reference/api/pro/rasa-pro-rest-api/) (`--enable-api`): affected |
| 29 | + - No authentication method in use: **unauthenticated RCE** |
| 30 | + - Token Based Auth: **authenticated RCE** |
| 31 | + - JWT Based Auth: **authenticated RCE** |
| 32 | + |
| 33 | +**Is an exploit available?**\ |
| 34 | +Yes, the exploit can be found at the end of the [full advisory](/assets/advisories/Rasa_unauthenticated_RCE_CVE-2024-49375.pdf) and [here](/assets/exploits/rasa/exploit.py). |
| 35 | + |
| 36 | +**Links:**\ |
| 37 | +[https://github.com/RasaHQ/rasa-pro-security-advisories/security/advisories/GHSA-cpv4-ggrr-7j9v](https://github.com/RasaHQ/rasa-pro-security-advisories/security/advisories/GHSA-cpv4-ggrr-7j9v)\ |
| 38 | +[https://nvd.nist.gov/vuln/detail/cve-2024-49375](https://nvd.nist.gov/vuln/detail/cve-2024-49375) |
| 39 | + |
| 40 | +**Credits**\ |
| 41 | +Julian Scheid ([julian.scheid@telekom.de](mailto:julian.scheid@telekom.de)) |
| 42 | + |
| 43 | +### Technical deep dive |
| 44 | +For those interested in taking a technical deep dive in how the vulnerability was discovered and how the exploit has been developed, reading the full advisory is highly recommended. |
| 45 | + |
| 46 | +[View the full advisory](/assets/advisories/Rasa_unauthenticated_RCE_CVE-2024-49375.pdf) |
0 commit comments