Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-9806 — CVE-2026-9806 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting CTI Transmute versions prior to the patched release. | Kitploit
Tools/GitHubGitHub/aj2108/cve-2026-9806
Vulnerability AnalysisWeb Application ExploitationWeb SecurityLearning & Education
GitHubaj2108/cve-2026-9806

CVE-2026-9806

CVE-2026-9806 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting CTI Transmute versions prior to the patched release.

View Repository
17 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-9806

CVE-2026-9806 is a Stored Cross-Site Scripting (Stored XSS) vulnerability affecting CTI Transmute versions prior to the patched release.The flaw exists in the notification panel, where notification messages containing user-controlled convert names are rendered in the notification bell dropdown using innerHTML without proper sanitization. If an attacker can create or influence a convert name that appears in a notification, arbitrary JavaScript can execute in the browser of an authenticated user when they open the notification panel.

Affected Software

Property Value Product CTI Transmute Affected Versions Versions prior to the patched release Affected Component Notification Panel Vulnerability Type Stored Cross-Site Scripting (Stored XSS)

Vulnerability Type

Category: Stored Cross-Site Scripting (Stored XSS) CWE-79: Improper Neutralization of Input During Web Page Generation (Cross-site Scripting)

Root Cause

The notification panel constructs notification entries using innerHTML. Notification messages include convert names, which are user-controlled. Because these values are inserted directly into the DOM without HTML encoding or sanitization, any HTML or JavaScript contained within a convert name is interpreted by the browser.

Conceptually:

root@kitploit:~
Attacker creates or influences a convert name
            │
            ▼
Convert name stored in notification
            │
            ▼
User opens notification panel
            │
            ▼
Notification rendered using innerHTML
            │
            ▼
Browser parses HTML
            │
            ▼
Embedded JavaScript executes

The vulnerability is caused by rendering untrusted input as HTML rather than as plain text.

Attack Flow

root@kitploit:~
Attacker
    │
    ▼
Creates or modifies a malicious convert name
    │
    ▼
Notification containing the convert name is generated
    │
    ▼
Victim opens notification panel
    │
    ▼
Notification dropdown inserts message using innerHTML
    │
    ▼
Browser executes malicious JavaScript
    │
    ▼
Actions performed within victim's authenticated session

Attack Scenario

Suppose a convert is created with a specially crafted name containing HTML.

Later, another authenticated user receives a notification referencing that convert. When the user clicks the notification bell, the application inserts the notification message into the page using innerHTML.

Instead of displaying the convert name as text, the browser interprets it as HTML and executes the embedded JavaScript, allowing the attacker to perform actions within the victim's browser session.

Example

Normal Convert Name

A legitimate user creates a convert named:

root@kitploit:~
Monthly Sales Report

The application stores it in the database.

Malicious Convert Name (Conceptual)

An attacker instead enters a name containing HTML:

root@kitploit:~
Quarterly Report <b>Important</b>

The application stores:

root@kitploit:~
Quarterly Report <b>Important</b>

Notification Generated

Later, another user receives a notification such as:

root@kitploit:~
Convert "Quarterly Report <b>Important</b>" completed successfully.

Vulnerable Rendering

If the application does:

root@kitploit:~
notification.innerHTML = response.message;

the browser renders:

Convert Quarterly Report Important completed successfully.

because is interpreted as HTML.

Safe Rendering

If the application instead uses:

root@kitploit:~
notification.textContent = response.message;

the browser displays the literal text:

root@kitploit:~
Convert "Quarterly Report <b>Important</b>" completed successfully.

No HTML is interpreted.

Impact

Successful exploitation may allow an attacker to:

  • Execute arbitrary JavaScript in an authenticated user's browser.
  • Perform actions using the victim's session.
  • Access sensitive information available to the application.
  • Modify application data through the victim's privileges.
The vulnerability primarily affects confidentiality and integrity.

Severity

Download Tool
MetricScore
CVSS v4.0 (CNA)6.3 (Medium)

NVD has not yet assigned its own CVSS assessment.

Conceptual Vulnerable Code

Note: The vendor has not published the exact vulnerable source code. The following demonstrates the vulnerable pattern.

root@kitploit:~
// User-controlled convert name
const message = response.notificationMessage;

// Unsafe rendering
notificationDropdown.innerHTML += `
    <div class="notification">
        ${message}
    </div>
`;

Why It Is Vulnerable

innerHTML treats the notification message as HTML. If the message contains HTML or JavaScript originating from a malicious convert name, the browser parses and executes it.

Corrected Code (Conceptual)

root@kitploit:~
const notification = document.createElement("div");
notification.className = "notification";

// Safe rendering
notification.textContent = response.notificationMessage;

notificationDropdown.appendChild(notification);

Why This Fix Works

Using textContent ensures the notification message is rendered as plain text instead of HTML. As noted in the published remediation, the issue was fixed by constructing notification elements through DOM methods and assigning content via textContent rather than innerHTML, preventing execution of embedded scripts.