You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[SECURITY] - file accessible to the user running xreader by sending a crafted .epub file #713
Xreader 4.6.3 (commit ef5a50d) does not sanitize ../ sequences in href attributes of EPUB OPF manifest and navigation files. When building absolute paths for content items, relative paths are concatenated directly to the document directory, allowing an attacker to craft a malicious EPUB that displays arbitrary local files (e.g., /etc/passwd).
This is the same class of vulnerability as CVE-2023-44451, but in a different code path.
In both cases, relativepath/filename come from href attributes in the EPUB package and are used without any validation against directory traversal.
Steps to Reproduce
Generate a malicious EPUB using the PoC script from the full report
Open poc.epub in xreader
Navigate to page 2
The contents of /etc/passwd (or any target file) are rendered inside xreader
Suggested Fix
Add a g_file_get_relative_path() check after building the absolute path in both functions, rejecting items that resolve outside documentdir — the same pattern used to fix CVE-2023-44451:
An attacker can read any file accessible to the user running xreader by sending a crafted .epub file. No user interaction beyond opening the file and turning the page is required.
Activity
clefebvre commentedon Sep 4, 2026
EPUB support was removed from Xreader and reimplemented in Xepub: https://github.com/xapp-project/xepub.