| Title | Genspark Genspark AI Workspace 2.8.4 (versionCode 28401) Path Traversal |
|---|
| Description | Genspark's exported MainActivity accepts ACTION_SEND / ACTION_VIEW intents carrying a content:// URI. The app reads _display_name from the URI and uses it verbatim as the destination filename for the file copy - no sanitization. A zero-permission attacker app supplying a _display_name containing ../ writes arbitrary files into the victim app's UID-protected internal storage tree.
When the URI points at an attacker-controlled ContentProvider, the app reads the URI's _display_name metadata column and uses that string verbatim as the destination filename when copying the streamed bytes to disk. Because the value is attacker-controlled and never sanitized, supplying a _display_name containing ../ sequences gives the attacker arbitrary file creation inside the victim app's own private storage
The trust model is the bug: the app treats _display_name as a safe filename when the documentation explicitly states it is a display string and may contain anything the source provider chooses to return. A zero-permission attacker app delivers a single intent, and the victim app - running in its own process with its own UID - opens an output stream at the attacker-resolved path and writes the attacker-supplied bytes. |
|---|
| Source | ⚠️ https://github.com/actuator/ai.mainfunc.genspark |
|---|
| User | Actuator (UID 67941) |
|---|
| Submission | 05/11/2026 16:27 (1 month ago) |
|---|
| Moderation | 06/14/2026 08:38 (1 month later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 370836 [Genspark AI Workspace App 2.8.4 on Android ai.mainfunc.genspark improper authorization in handler for custom url scheme] |
|---|
| Points | 20 |
|---|