CVE-2026-27458
Received Received - Intake
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
LinkAce is a self-hosted archive to collect website links. Versions 2.4.2 and below have a Stored Cross-site Scripting vulnerability through the Atom feed endpoint for lists (/lists/feed). An authenticated user can inject a CDATA-breaking payload into a list description that escapes the XML CDATA section, injects a native SVG element into the Atom XML document, and executes arbitrary JavaScript directly in the browser when the feed URL is visited. No RSS reader or additional rendering context is required β€” the browser's native XML parser processes the injected SVG and fires the onload event handler. This vulnerability exists because the lists feed template outputs list descriptions using Blade's raw syntax ({!! !!}) without sanitization inside a CDATA block. The critical detail is that because the output sits inside <![CDATA[...]]>, an attacker can inject the sequence ]]> to close the CDATA section prematurely, then inject arbitrary XML/SVG elements that the browser parses and executes natively as part of the Atom document. This issue has been fixed in version 2.4.3.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-21
Last Modified
2026-02-24
Generated
2026-05-07
AI Q&A
2026-02-21
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linkace linkace to 2.4.3 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
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.


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