Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed IceCMS endpoint
-
DeliveryCraft malicious num path parameter
-
ExploitInject SQL after LIMIT via QueryWrapper.last()
-
ExecutionRun union-based/blind query
-
ImpactExfiltrate database contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of IceCMS (through 4.1.5) wherever the /WebResource/findresourcebynum endpoint is network-reachable. The specific trigger is a crafted 'num' path parameter that is concatenated after the SQL LIMIT clause via MyBatis-Plus QueryWrapper.last() without parameterization. Limiting factors are minimal: no authentication, user interaction, or non-default setting is required; the main practical constraints are network reachability of the IceCMS instance and running an affected version (≤4.1.5). Impact is confined to database read/disclosure (confidentiality), not data modification or code execution. |
| Impact | Multiple signals align toward genuine priority for exposed instances. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity, unauthenticated flaw with no user interaction, and the description corroborates this: a crafted 'num' path parameter is concatenated directly into a SQL LIMIT clause via QueryWrapper.last(). The CWE-89 classification and VulnCheck advisory reinforce that this is a classic injection. Impact is scoped to confidentiality (VC:H; VI/VA:N), consistent with data extraction via union-based or blind techniques rather than write/RCE - so raw severity (8.7) somewhat overstates operational impact, which is read-only database disclosure. A public technical write-up (hackmd) documents the exact exploitation path, lowering the barrier to attack. No CISA KEV listing is present and no EPSS score was supplied, so there is NO confirmed evidence of active in-the-wild exploitation; the primary risk driver is ease of exploitation plus public methodology, not observed attacks. The chief mitigating factor is real-world deployment footprint: IceCMS is a niche open-source CMS, so the aggregate internet-facing attack surface is likely small. Net assessment: high priority to patch for any organization actually running IceCMS, but limited broad-ecosystem risk. |
| Exploit ScenarioDerived | A remote, unauthenticated attacker locates an internet-facing IceCMS (≤4.1.5) instance and sends a crafted request to /WebResource/findresourcebynum with a malicious 'num' path value. Because the value is appended after the SQL LIMIT clause without sanitization, the attacker uses union-based or blind SQL injection to enumerate and exfiltrate database contents such as user records and credentials. A public technical write-up detailing this exact technique exists, reducing the effort required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Unauthenticated SQL injection in IceCMS (Thecosy IceCMS) through 4.1.5 lets any remote attacker who can reach the /WebResource/findresourcebynum endpoint read arbitrary data from the backend database by supplying a crafted 'num' path parameter. The parameter is concatenated after the SQL LIMIT clause via MyBatis-Plus QueryWrapper.last() with no parameterization, so union-based or blind injection can be used to exfiltrate table contents. The assessed impact is confidentiality-only (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) - no data modification, denial of service, or code execution - and no authentication, user interaction, or non-default configuration is required. The issue is not listed in CISA KEV and no confirmed active exploitation has been reported, but a detailed public write-up of the injection point exists, making the flaw straightforward to reproduce against network-reachable instances.
RemediationAI
No vendor-released patch could be identified from the available data: the provided references point only to the vulnerable source snapshot (commit afd7a9f0d04a714e7c7e735e566c27f54b5d5201), the upstream project page, a VulnCheck advisory, and a public write-up - none of which is a fixed release, so treat this as "No vendor-released patch identified at time of analysis" and upgrade to a version above 4.1.5 as soon as Thecosy publishes one (monitor https://github.com/Thecosy/IceCMS and https://www.vulncheck.com/advisories/icecms-through-4.1.5-sql-injection-via-webresource-findresourcebynum for the fix). Until then, the highest-value compensating control is to remove network reachability of the vulnerable route: block or restrict access to /WebResource/findresourcebynum at the reverse proxy, WAF, or firewall so that only trusted administrative networks can call it (trade-off: any legitimate frontend feature that consumes this endpoint breaks for external users, so verify usage first), and add a targeted WAF/ingress rule that rejects requests whose 'num' path segment contains non-numeric characters or SQL metacharacters such as quotes, UNION, or comment sequences (trade-off: regex filtering is bypassable via encoding and requires tuning to avoid false positives). Because the root cause is QueryWrapper.last() concatenation, a code-level fix - replacing the raw trailing clause with a bound parameter or a validated numeric cast, and enforcing a whitelist on the 'num' value - can be applied locally by any team maintaining a fork, and should be paired with the least-privilege step of confirming the application's datasource account has SELECT-only rights on the minimum required schemas so that any successful injection is limited to disclosure. Additionally, enable SQL and application logging for this controller and alert on anomalous 'num' values, which gives detection coverage while a patch is pending, and review database and access logs for prior exploitation attempts given that public exploitation details are already available.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
IceCMS is a Java/Spring Boot content-management system (vendor: Thecosy) that uses MyBatis-Plus for data access. The root cause is CWE-89 (SQL Injection) arising from the misuse of MyBatis-Plus's QueryWrapper.last() method, which appends an arbitrary string verbatim to the end of the generated SQL statement. In WebResourceController.java (lines 128-134 of the referenced source snapshot), the 'num' path parameter of /WebResource/findresourcebynum is placed into that trailing segment alongside a LIMIT clause without binding or validation, letting an attacker terminate the LIMIT expression and append their own SQL (e.g., UNION SELECT or boolean/time-based predicates). Because the sink is a raw string concatenation rather than a JDBC placeholder, no escaping or type coercion prevents payload injection; because the endpoint is a frontend controller, no authorization layer stands in front of it. The product CPE cpe:2.3:a:thecosy:icecms:*:*:*:*:*:*:*:* carries a wildcard version, confirming that all released versions up to and including 4.1.5 are treated as affected and that no fixed version is enumerated in the CPE dictionary. Exposure is bounded by database privileges of the application's datasource account, which typically limit the outcome to read/disclosure of whatever tables that account can SELECT from.
Know when Icecms 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:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated network injection with no user interaction (AV:N/AC:L/PR:N/UI:N); union/blind SQLi enables full DB disclosure (C:H) but no write or availability impact (I:N/A:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
IceCMS through 4.1.5 contains an unauthenticated sql injection vulnerability that allows remote attackers to inject SQL by supplying a crafted num path parameter to /WebResource/findresourcebynum. Attackers can append SQL after the LIMIT clause concatenated via QueryWrapper.last() to extract database contents using union-based or blind techniques.
Executive ViewAI
IceCMS (Thecosy IceCMS) deployments at version 4.1.5 and earlier expose a publicly reachable endpoint that lets any unauthenticated attacker read arbitrary records from the application's backend database. No vendor fix is currently available and the injection point has been publicly documented, so any internet- or partner-reachable instance should be assumed exploitable today. Leadership should care because the data at risk sits in the application's own database - including any customer, account, or content records it stores - and a successful extraction could trigger breach notification, regulatory, and reputational consequences.
No vendor-released patch identified at time of analysis. Interim mitigations: block or restrict network access to /WebResource/findresourcebynum; apply WAF/reverse-proxy virtual patching to reject SQL metacharacters in the 'num' parameter; place instances behind authentication or network allow-lists; run the application's database account with read-only least privilege; enable and monitor logs for injection attempts; assess exposed data and prepare notification if evidence of exfiltration is found.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
icecms <=3.4.7 has a File Upload vulnerability in FileUtils.java,uploadFile. Rated critical severity (CVSS 9.8), this vu
IceCMS v3.4.7 and before was discovered to contain a hardcoded JWT key, allowing an attacker to forge JWT authentication
A vulnerability was found in Thecosy IceCMS 2.0.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely ex
An issue was discovered in IceCMS version 2.0.1, allows attackers to escalate privileges and gain sensitive information
A vulnerability, which was classified as problematic, has been found in Thecosy IceCMS up to 2.0.1. Rated high severity
Incorrect access control in IceCMS v3.4.7 and before allows attackers to authenticate by entering any arbitrary values a
An access control issue in IceCMS v3.4.7 and before allows attackers to arbitrarily modify users' information, including
An access control issue in the CheckVip function in UserController.java of IceCMS v3.4.7 and before allows unauthenticat
A vulnerability classified as problematic has been found in Thecosy IceCMS 2.0.1. Rated high severity (CVSS 7.5), this v
IceCMS v1.0.0 has Insecure Permissions. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
A vulnerability was found in Thecosy IceCMS 2.0.1. Rated medium severity (CVSS 6.5), this vulnerability is remotely expl
IceCMS v2.0.1 is vulnerable to Cross Site Request Forgery (CSRF). Rated medium severity (CVSS 6.5), this vulnerability i
EUVD-2026-102976
GHSA-vqwq-cg9h-83m7
NVD
CVE.org
Exploit-DB