CVE-2026-27458
Stored XSS in LinkAce Atom Feed Allows Arbitrary JavaScript Execution
Publication date: 2026-02-21
Last updated on: 2026-02-24
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linkace | linkace | to 2.4.3 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-80 | The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as "<", ">", and "&" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-27458 is a stored cross-site scripting (XSS) vulnerability in LinkAce versions 2.4.2 and earlier, specifically affecting the Atom feed endpoint for lists (/lists/feed). An authenticated user can inject a payload into a list description that prematurely closes the XML CDATA section using the sequence ]]>, then injects a native SVG element with an onload JavaScript event handler into the Atom XML document.
When the feed URL is accessed, the browserβs native XML parser processes the injected SVG, triggering the onload event and executing arbitrary JavaScript directly in the browser without requiring an RSS reader or additional rendering context.
The root cause is that the list feed template outputs list descriptions using Bladeβs raw syntax ({!! !!}) without sanitization inside a CDATA block, allowing attackers to escape the CDATA section and inject executable XML/SVG elements.
This vulnerability has been fixed in version 2.4.3 by properly escaping or removing CDATA delimiters and sanitizing user input.
How can this vulnerability impact me? :
This vulnerability allows an authenticated user with low privileges to execute arbitrary JavaScript in the browser of anyone who visits the vulnerable Atom feed URL.
The impact includes high confidentiality and integrity risks to the vulnerable system, as malicious scripts can steal sensitive information, manipulate data, or perform unauthorized actions within the context of the affected application.
Since the attack requires only visiting the feed URL and no additional user interaction, it can be exploited remotely over the network with low complexity.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': 'This vulnerability can be detected by attempting to reproduce the exploit as an authenticated user. Specifically, log in to the LinkAce application, create or edit a list with visibility set to "Internal" or "Public," and insert a CDATA-breaking payload into the list description field.'}, {'type': 'list_item', 'content': 'Inject the payload: ]]><svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.domain)"/><![CDATA[ into the list description.'}, {'type': 'paragraph', 'content': 'Then, visit the /lists/feed endpoint. If the vulnerability exists, the browser will execute the injected JavaScript (e.g., an alert showing the document domain) without requiring an RSS reader.'}, {'type': 'paragraph', 'content': 'There are no specific network or system commands provided to detect this vulnerability automatically, but manual testing via the described payload injection and feed access is the recommended detection method.'}] [1]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves sanitizing and escaping user input in the list description field before outputting it inside CDATA blocks in the Atom feed.
- Apply the strip_tags() function to the list description output in the feed template to remove HTML tags.
- Better yet, implement a robust escaping function such as escapeXmlString() that removes CDATA delimiters and applies HTML escaping to prevent CDATA section breaks and XML injection.
- Update the feed template (resources/views/app/feed/lists.blade.php) to replace raw output syntax ({!! $list->description !!}) with calls to escapeXmlString() or equivalent sanitization.
Additionally, review all Blade templates that output user-controlled data inside CDATA blocks to ensure proper escaping and prevent similar vulnerabilities.
Upgrading to LinkAce version 2.4.3 or later, where this vulnerability is fixed, is strongly recommended.