Description
Banana Slides through 0.4.0, patched in commit e8bc490, contains a path traversal vulnerability in the generate_image() function within the AI service backend that allows unauthenticated attackers to read arbitrary image-format files outside the intended uploads directory by exploiting an incomplete path prefix check using os.path.startswith() without a trailing separator. Attackers can supply crafted markdown image references in user-controlled page descriptions that resolve to sibling directories whose names share the uploads folder prefix, bypassing the directory confinement check and causing the application to read files from unintended locations via PIL Image.open().
CVSS breakdown
CVSS 4.0
Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Confidentiality (Vulnerable System)
High
Integrity (Vulnerable System)
None
Availability (Vulnerable System)
None
Confidentiality (Subsequent System)
None
Integrity (Subsequent System)
None
Availability (Subsequent System)
None
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
Affected products
- Anionex / banana-slides0 – 0.4.0
- Anionex / banana-slidese8bc490ec8b4b657e07dc3ab4e94fbedcaade421 – e8bc490ec8b4b657e07dc3ab4e94fbedcaade421
References
- MISChttps://github.com/Anionex/banana-slides/issues/429
- PATCHhttps://github.com/Anionex/banana-slides/pull/430
- PATCHhttps://github.com/Anionex/banana-slides/commit/e8bc490ec8b4b657e07dc3ab4e94fbedcaade421
- VENDOR_ADVISORYhttps://www.vulncheck.com/advisories/banana-slides-path-traversal-via-generate-image-in-ai-service-py