CVE-2026-90564: quequnlong shiyi-blog stored cross-site scripting in chat

CVE-2026-90564 · Severity: low · CVSS 3.5 · Published 2026-09-13

Shiyi-blog is a Vue and SpringBoot-based blogging platform with integrated chat functionality. A logged-in user can inject malicious JavaScript through the chat message endpoint, which is then stored in the database and rendered unsafely (via Vue's v-html) to other users viewing the chat history or receiving real-time messages, allowing attackers to steal session data or perform unauthorized actions on behalf of victims.

Technologies: Quequnlong Shiyi-Blog. Vendors: Quequnlong.

Quick answers

Is CVE-2026-90564 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-90564 being exploited in the wild.
How severe is CVE-2026-90564?
Low severity, with a CVSS score of 3.5, published 13 September 2026.
Which products and versions are affected?
Quequnlong Shiyi-Blog 1.0.0 to 1.2.1.
Is there a fix for CVE-2026-90564?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-90564 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-90564?
Check whether you run Quequnlong Shiyi-Blog at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is a stored cross-site scripting (XSS) flaw in the chat message handling flow. An authenticated user submits malicious HTML/JavaScript via POST /chat/sendMsg; the ChatServiceImpl persists the content to the chat_msg table without sanitization. The frontend (chat/index.vue) then renders message content using Vue's v-html directive, which interprets the content as raw HTML. Since SysChatMsgMapper.getChatMsgList returns all global chat history without filtering and WebSocketServer broadcasts to all connected sessions, any logged-in user viewing the chat page is vulnerable to code execution. The attack requires prior authentication but can target cross-user scenarios. Current patches include only sensitive-word filtering on the backend, which does not prevent XSS; proper fixes require disabling raw HTML rendering or applying a robust HTML sanitizer at the output boundary.

Affected products

  • quequnlong shiyi-blog 1.0.0 to 1.2.1

Timeline

  • 2026-09-13: disclosed
  • other: Vulnerability reported via Gitee issue IK5RVL on 2026-08-01; project has not responded

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.