CVE-2026-47099
Received Received - Intake
DOM-based XSS in TeleJSON via parse() Function

Publication date: 2026-05-20

Last updated on: 2026-05-20

Assigner: VulnCheck

Description
TeleJSON prior to 6.0.0 contains a DOM-based cross-site scripting vulnerability in the parse() function that allows attackers to execute arbitrary JavaScript by delivering a crafted JSON payload containing a malicious _constructor-name_ property value. The custom reviver passes the constructor name directly to new Function() without sanitization when recreating object prototypes, enabling attackers to inject arbitrary JavaScript through vectors such as postMessage in cross-frame communication contexts to achieve script execution within the application.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-20
Last Modified
2026-05-20
Generated
2026-05-21
AI Q&A
2026-05-20
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
telejson telejson to 6.0.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-47099 is a DOM-based cross-site scripting (XSS) vulnerability in TeleJSON versions prior to 6.0.0. It occurs in the parse() function where a specially crafted JSON payload containing a malicious _constructor-name_ property is passed. The custom reviver function uses this constructor name directly in new Function() without sanitization, allowing attackers to inject and execute arbitrary JavaScript code.

This vulnerability can be exploited through vectors such as postMessage in cross-frame communication contexts, enabling script execution within the affected application.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The vulnerability allows arbitrary JavaScript execution within the application context, which could lead to session hijacking, credential theft, or DOM manipulation.

Such impacts could potentially affect compliance with standards and regulations like GDPR or HIPAA, which require protection of personal data and secure handling of user credentials.

However, the provided information does not explicitly discuss or analyze the direct effects of this vulnerability on compliance with these or other common standards and regulations.


How can this vulnerability impact me? :

The vulnerability allows attackers to execute arbitrary JavaScript within the context of the vulnerable application. This can lead to impacts such as session hijacking, credential theft, or manipulation of the Document Object Model (DOM).

However, the severity is rated as Low with a CVSS score of 2.1, indicating limited exploitability and minimal impact on confidentiality and integrity.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

Detection of this vulnerability involves identifying usage of telejson versions prior to 6.0.0 in your environment, especially where the parse() function processes JSON payloads containing the _constructor-name_ property.

You can monitor network traffic or application logs for JSON payloads that include the _constructor-name_ property with suspicious or unexpected values.

Since the vulnerability is triggered by crafted JSON payloads, commands to search for such payloads might include:

  • Using grep or similar tools to find occurrences of telejson usage or vulnerable versions in your codebase: `grep -r "telejson" ./`
  • Searching logs or captured network traffic for the _constructor-name_ property: `grep -r '"_constructor-name"' /path/to/logs`
  • Using network monitoring tools (e.g., Wireshark or tcpdump) to capture and filter JSON payloads containing _constructor-name_: `tcpdump -A -s 0 'tcp port 80 or tcp port 443' | grep '_constructor-name'`

Additionally, reviewing application code to check if telejson.parse() is used without proper sanitization or without the allowFunction option enabled can help detect vulnerable implementations.


What immediate steps should I take to mitigate this vulnerability?

The primary and immediate mitigation step is to upgrade telejson to version 6.0.0 or later, where the vulnerability has been fixed.

Version 6.0.0 introduces two key mitigations:

  • A character allowlist via regex that strips non-word characters from the constructor name before passing it to new Function(), preventing injection of malicious code.
  • Gating the vulnerable code path behind the allowFunction option, which must be explicitly enabled to allow execution of constructor functions.

If upgrading immediately is not possible, consider disabling or restricting features that accept JSON payloads with the _constructor-name_ property, especially in cross-frame communication contexts like postMessage.

Also, review and sanitize any input that is passed to telejson.parse() to prevent malicious payloads from reaching the vulnerable code.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart