CVE-2024-52286: Self Cross Site Scripting (XSS) In Merge Functionality in Stirling-PDF
Stirling-PDF is a locally hosted web application that allows you to perform various operations on PDF files. In affected versions the Merge functionality takes untrusted user input (file name) and uses it directly in the creation of HTML pages allowing any unauthenticated to execute JavaScript code in the context of the user. The issue stems to the code starting at Line 24 in src/main/resources/static/js/merge.js. The file name is directly being input into InnerHTML with no sanitization on the file name, allowing a malicious user to be able to upload files with names containing HTML tags. As HTML tags can include JavaScript code, this can be used to execute JavaScript code in the context of the user. This is a self-injection style attack and relies on a user uploading the malicious file themselves and it impact only them, not other users. A user might be social engineered into running this to launch a phishing attack. Nevertheless, this breaks the expected security restrictions in place by the application. This issue has been addressed in version 0.32.0 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-52286?
CVE-2024-52286 is considered to be a high severity vulnerability due to the ability of unauthenticated users to execute arbitrary code.
How do I fix CVE-2024-52286?
To fix CVE-2024-52286, update Stirling-PDF to version 0.32.0 or later where the vulnerability has been addressed.
What type of vulnerability is CVE-2024-52286?
CVE-2024-52286 is classified as a self-XSS vulnerability that arises from untrusted user input in the merge functionality.
Who is affected by CVE-2024-52286?
CVE-2024-52286 affects users of Stirling-PDF versions prior to 0.32.0.
What components of Stirling-PDF are impacted by CVE-2024-52286?
The Merge functionality of Stirling-PDF is impacted by CVE-2024-52286 as it uses untrusted file names to generate HTML pages.