CVE-2026-100176: Stored Cross-Site Scripting (XSS) in AIL Framework Username Timeline Tooltip

Published Sep 25, 2026
·
Updated

The AIL Framework's username timeline feature is vulnerable to stored cross-site scripting (XSS). Usernames imported from chats and crawled forums are stored without character restrictions. When an authenticated analyst views the username timeline, the application renders these stored usernames into the DOM using D3's html() method in the tooltip. Because the username value (d.obj) is interpolated directly into an HTML string without sanitization, a crafted username containing HTML event handlers (e.g., <img src=x onerror=alert(1)>) will execute arbitrary JavaScript in the analyst's browser when the analyst hovers over the corresponding timeline entry. The attack requires the victim to be an authenticated analyst with access to the timeline view and to interact with the malicious timeline entry (hover). Successful exploitation can lead to session hijacking, data exfiltration, or unauthorized actions performed within the analyst's authenticated session. The vulnerability resides in the client-side JavaScript file var/www/static/js/d3/timelinebasic.js.

Affected Software

1 affected component
AIL Project AIL Framework

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Apply the existing sanitize_text() helper to the user-controlled username value d.obj immediately before interpolating it into the D3 tooltip HTML string.

    AIL Framework — var/www/static/js/d3/timeline_basic.js Username tooltip rendering = sanitize_text(d.obj)

Event History

Sep 25, 2026
CVE Published
via MITRE·01:29 PM
Data Sourced
via MITRE·01:29 PM
RemedyDescriptionWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Authenticated analysts who can access the username timeline are exposed, particularly when they hover over a timeline entry containing a crafted imported or crawled username.

2

What does an attacker need to do to exploit it?

An attacker needs to cause a crafted username containing malicious HTML, such as an event handler, to be imported from chats or collected from crawled forums. They must then induce an authenticated analyst to view the timeline and hover over the corresponding entry.

3

What is the impact if exploitation succeeds?

JavaScript can execute in the analyst's authenticated browser session. This can enable session hijacking, data exfiltration, or unauthorized actions using that analyst's access.

4

Where is the vulnerable client-side code located?

The affected code is in var/www/static/js/d3/timeline_basic.js, where the username value is interpolated into tooltip HTML through D3's html() method without sanitization.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203