Description
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. A Prototype Pollution condition in the `getQueryParam` function `/public/js/main.js` and was addressed in version 1.8.139 by blocking URL query keys matching the pattern `__proto__`. However, this mitigation is incomplete: it only filters top-level `__proto__` keys and fails to sanitize nested forms such as `b[__proto__][polluted]=PWNED`. As a result, an attacker-controlled URL query string can still write into `Object.prototype` on any page that loads `main.js`. Version 1.8.223 contains a updated fix.
Published: 2026-07-20
Score: 4.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

FreeScout’s JavaScript helper function getQueryParam in main.js permits prototype pollution by allowing malicious URL query strings to set properties on Object.prototype. The initial mitigation in version 1.8.139 only blocked top‑level __proto__ keys and did not sanitize nested query structures such as b[__proto__][polluted]=PWNED. Consequently, an attacker can inject arbitrary values into the global Object prototype from any page that loads main.js, potentially altering the behavior of downstream code and compromising application integrity.

Affected Systems

The vulnerability affects all installations of the free help desk application provided by freescout-help-desk, specifically versions released before 1.8.223. Versions 1.8.139 through 1.8.222 remain vulnerable, whereas 1.8.223 contains the corrected logic. The issue is /public/js/main.js across all pages that parse query parameters.

Risk and Exploitability

With a CVSS score of 4.6, the flaw is considered moderate. The EPSS score is < 1%, and the vulnerability is not listed in CISA’s KEV catalog. Attackers can exploit it by sending a crafted URL to any publicly accessible page that includes main.js, as the vulnerability does. The primary attack vector is a malicious query string that writes into Object.prototype, potentially affecting all subsequent JavaScript execution in the affected application.

Generated by OpenCVE AI on July 30, 2026 at 18:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to FreeScout 1.8.223 or newer, which fully sanitizes all __proto__ keys in query strings, addressing the prototype pollution flaw identified as CWE-1321.
  • If a patch upgrade is not immediately possible, edit the client‑side main.js to recursively remove or transform any __proto__ keys found in nested query parameters before they reach getQueryParam.
  • As a temporary measure, reconfigure the web server or application to strip __proto__ query parameters from URLs before they are served, preventing the JavaScript code from receiving them.

Generated by OpenCVE AI on July 30, 2026 at 18:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 21 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Freescout Helpdesk
Freescout Helpdesk freescout
Vendors & Products Freescout Helpdesk
Freescout Helpdesk freescout

Mon, 20 Jul 2026 20:00:00 +0000

Type Values Removed Values Added
Description FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. A Prototype Pollution condition in the `getQueryParam` function `/public/js/main.js` and was addressed in version 1.8.139 by blocking URL query keys matching the pattern `__proto__`. However, this mitigation is incomplete: it only filters top-level `__proto__` keys and fails to sanitize nested forms such as `b[__proto__][polluted]=PWNED`. As a result, an attacker-controlled URL query string can still write into `Object.prototype` on any page that loads `main.js`. Version 1.8.223 contains a updated fix.
Title FreeScout vulnerable to prototype pollution in getQueryParam
Weaknesses CWE-1321
References
Metrics cvssV3_1

{'score': 4.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L'}


Subscriptions

Freescout Helpdesk Freescout
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-21T14:42:22.367Z

Reserved: 2026-06-09T19:39:52.403Z

Link: CVE-2026-53592

cve-icon Vulnrichment

Updated: 2026-07-21T14:41:57.484Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T18:45:06Z

Weaknesses
  • CWE-1321

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