CVE-2024-34698

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.
Configurations

No configuration.

History

21 Nov 2024, 09:19

Type Values Removed Values Added
References () https://github.com/freescout-helpdesk/freescout/commit/2614514bc6d6c4ad563202a1c9cae5a97b195cc5 - () https://github.com/freescout-helpdesk/freescout/commit/2614514bc6d6c4ad563202a1c9cae5a97b195cc5 -
References () https://github.com/freescout-helpdesk/freescout/security/advisories/GHSA-rx6j-4c33-9h3r - () https://github.com/freescout-helpdesk/freescout/security/advisories/GHSA-rx6j-4c33-9h3r -
Summary
  • (es) FreeScout es un servicio de asistencia gratuito y un buzón de correo compartido autohospedado. Las versiones de FreeScout anteriores a la 1.8.139 contienen una vulnerabilidad de contaminación de prototipo en el archivo fuente `/public/js/main.js`. La contaminación del prototipo surge porque la función `getQueryParam` fusiona recursivamente un objeto que contiene propiedades controlables por el usuario en un objeto existente (para el análisis de parámetros de consulta de URL), sin sanitizar primero las claves. Esto puede permitir a un atacante inyectar una propiedad con una clave `__proto__`, junto con propiedades anidadas arbitrariamente. La operación de fusión asigna las propiedades anidadas al prototipo del objeto `params` en lugar del propio objeto de destino. Como resultado, el atacante puede contaminar el prototipo con propiedades que contienen valores dañinos, que luego son heredados por objetos definidos por el usuario y posteriormente utilizados peligrosamente por la aplicación. La vulnerabilidad permite a un atacante controlar propiedades de objetos que de otro modo serían inaccesibles. Si posteriormente la aplicación maneja una propiedad controlada por un atacante de forma insegura, esto puede potencialmente encadenarse con otras vulnerabilidades como XSS basado en DOM, redirección abierta, manipulación de cookies, manipulación de enlaces, inyección de HTML, etc. La versión 1.8.139 contiene un parche para el tema.

14 May 2024, 15:39

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-14 15:39

Updated : 2024-11-21 09:19


NVD link : CVE-2024-34698

Mitre link : CVE-2024-34698

CVE.ORG link : CVE-2024-34698


JSON object : View

Products Affected

No product.

CWE
CWE-1321

Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')