CVE-2026-89256 in AVideoinfo

Summary

by MITRE • 09/11/2026

AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 contains a stored cross-site scripting vulnerability in the Bookmark plugin where chapter names are not encoded before being concatenated into public watch-page HTML. A video owner can inject malicious scripts via the bookmark name parameter, and every visitor of that video executes the payload in the AVideo origin.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 09/11/2026

The identified security flaw resides within the AVideo platform's Bookmark plugin, specifically affecting how chapter names are processed during the rendering of public watch pages. This vulnerability is classified as a Stored Cross-Site Scripting (XSS) issue, which represents a severe category of web application insecurity where malicious scripts are permanently stored on the target server and subsequently delivered to users without any additional exploitation steps required by an attacker beyond initial injection. The root cause lies in insufficient input validation and output encoding mechanisms within the codebase associated with commit c3edcc274c389816d434acadac07ee78eaf330c1. When a video owner defines chapter names for their content, these strings are concatenated directly into the HTML structure of the public watch page without proper sanitization or encoding. This failure to encode special characters allows an attacker who possesses write access to create bookmarks with embedded JavaScript payloads rather than plain text labels.

From a technical perspective, this vulnerability aligns closely with CWE-79, which describes Improper Neutralization of Input During Web Page Generation commonly known as Cross-site Scripting. The specific nature of the flaw is persistent because the malicious payload is stored in the database or file system associated with the video metadata and served to every visitor who accesses that particular video page. This distinguishes it from reflected XSS, where the payload must be injected via a crafted URL each time. In this scenario, the victim does not need to click on a specially constructed link; simply visiting the compromised video's watch page triggers the execution of the malicious script within the context of the AVideo origin. The browser interprets the unencoded input as executable code rather than data, leading to the injection of arbitrary JavaScript into the Document Object Model.

The operational impact of this vulnerability is significant due to its potential for widespread exploitation and high-impact consequences. Since every visitor executes the payload in the same-origin context, an attacker can perform a variety of malicious actions including session hijacking by stealing authentication cookies or tokens displayed in local storage, credential harvesting through fake login forms injected into the page, keylogging to capture user input across other sites if browser security policies allow, and defacement of the video player interface. Furthermore, because the attack occurs within the trusted domain of AVideo, it bypasses same-origin policy protections that typically limit the scope of damage from cross-site attacks. This can lead to unauthorized access to user accounts, data exfiltration, or using compromised browsers as part of a botnet for further distributed attacks such as click fraud or cryptocurrency mining.

To mitigate this vulnerability and prevent similar issues in future development cycles, immediate remediation efforts should focus on implementing strict output encoding whenever dynamic content is inserted into HTML contexts. Developers must ensure that all user-supplied data, particularly fields like chapter names that are rendered directly into the DOM, undergo proper escaping based on their context within the HTML structure. This typically involves using established libraries or framework functions designed to neutralize special characters such as angle brackets, ampersands, and quotes before they reach the browser's parser. Additionally, implementing a Content Security Policy (CSP) can provide an additional layer of defense by restricting the sources from which scripts are allowed to execute, thereby mitigating the impact even if input validation is inadvertently bypassed. Regular security audits and static code analysis tools configured to detect XSS patterns should be integrated into the development pipeline to catch such encoding failures early in the software lifecycle.

Responsible

VulnCheck

Reservation

09/11/2026

Disclosure

09/11/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!