CVE-2024-34698: Prototype Pollution in getQueryParam Function (URL Query Parser)
FreeScout is a free, self-hosted help desk and shared mailbox. Versions of FreeScout prior to 1.8.139 contain a Prototype Pollution vulnerability in the /public/js/main.js source file. The Prototype Pollution arises because the getQueryParam Function recursively merges an object containing user-controllable properties into an existing object (For URL Query Parameters Parsing), without first sanitizing the keys. This can allow an attacker to inject a property with a key proto, along with arbitrarily nested properties. The merge operation assigns the nested properties to the params object's prototype instead of the target object itself. As a result, the attacker can pollute the prototype with properties containing harmful values, which are then inherited by user-defined objects and subsequently used by the application dangerously. The vulnerability lets an attacker control properties of objects that would otherwise be inaccessible. If the application subsequently handles an attacker-controlled property in an unsafe way, this can potentially be chained with other vulnerabilities like DOM-based XSS, Open Redirection, Cookie Manipulation, Link Manipulation, HTML Injection, etc. Version 1.8.139 contains a patch for the issue.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-34698?
CVE-2024-34698 is classified as a Prototype Pollution vulnerability which poses a moderate risk to affected FreeScout versions.
How do I fix CVE-2024-34698?
To fix CVE-2024-34698, update FreeScout to version 1.8.139 or later.
What versions of FreeScout are affected by CVE-2024-34698?
CVE-2024-34698 affects all versions of FreeScout prior to 1.8.139.
What type of vulnerability is CVE-2024-34698?
CVE-2024-34698 is a Prototype Pollution vulnerability found in the '/public/js/main.js' file.
How can CVE-2024-34698 impact my FreeScout application?
CVE-2024-34698 can allow an attacker to modify the prototype of objects, potentially leading to unexpected application behavior or security breaches.