/

CVE-2026-111686

Severity:

HIGH RISK

(7.5)

SQL Injection (CWE-89) in IceCMS Article API Endpoint

CVE-2026-111686

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Unauthorized Database Access

Severity:

HIGH RISK

(7.5)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

IceCMS through version 4.1.5 contains an unauthenticated SQL injection vulnerability in the article lookup endpoint. A remote attacker may manipulate the num path parameter to alter database queries and retrieve application data when the endpoint is publicly reachable.

IceCMS through version 4.1.5 contains an unauthenticated SQL injection vulnerability in the article lookup endpoint. A remote attacker may manipulate the num path parameter to alter database queries and retrieve application data when the endpoint is publicly reachable.

Affected context

The vulnerability occurs in the /WebArticle/findarticlesbynum article retrieval endpoint when the num path parameter is incorporated into a MyBatis-Plus QueryWrapper without adequate parameterization or validation. Deployments are at greater risk when this endpoint is exposed to untrusted networks and does not require authentication.

The vulnerability occurs in the /WebArticle/findarticlesbynum article retrieval endpoint when the num path parameter is incorporated into a MyBatis-Plus QueryWrapper without adequate parameterization or validation. Deployments are at greater risk when this endpoint is exposed to untrusted networks and does not require authentication.

Exploit preconditions

  • Attack surface: HTTP article lookup endpoint
  • Required access: Network access to the endpoint; authentication is not expected to be required
  • Trigger point: Processing of the num path parameter in the article query
  • Why exploitation is possible: Attacker-controlled input is concatenated into SQL-related query construction, allowing query logic to be influenced
  • Attack surface: HTTP article lookup endpoint
  • Required access: Network access to the endpoint; authentication is not expected to be required
  • Trigger point: Processing of the num path parameter in the article query
  • Why exploitation is possible: Attacker-controlled input is concatenated into SQL-related query construction, allowing query logic to be influenced

Why this happens

The underlying issue is improper neutralization of special elements in SQL commands, mapping to CWE-89: SQL Injection. The application treats a path parameter as query syntax rather than strictly as a data value, allowing crafted input to modify the intended LIMIT-related query behavior. This unsafe construction can support union-based or blind database extraction.

The underlying issue is improper neutralization of special elements in SQL commands, mapping to CWE-89: SQL Injection. The application treats a path parameter as query syntax rather than strictly as a data value, allowing crafted input to modify the intended LIMIT-related query behavior. This unsafe construction can support union-based or blind database extraction.

Potential impact

  • Unauthorized disclosure of database contents
  • Exposure of application, user, or configuration data
  • Circumvention of intended query constraints
  • Increased risk of further compromise if sensitive credentials are stored in the database
  • Unauthorized disclosure of database contents
  • Exposure of application, user, or configuration data
  • Circumvention of intended query constraints
  • Increased risk of further compromise if sensitive credentials are stored in the database

General mitigation guidance

Mitigation generally focuses on eliminating dynamic SQL construction from untrusted input and reducing database privileges.

Common defensive patterns include:

  • Use parameterized queries and framework APIs that bind values rather than concatenate SQL fragments
  • Validate the num parameter against a strict numeric schema and reject unexpected values
  • Keep query structure separate from user-supplied data, including pagination and limit handling
  • Apply least-privilege permissions to the application database account
  • Avoid exposing database error details through HTTP responses
  • Enforce authentication and network access controls for endpoints that do not need public exposure

Mitigation generally focuses on eliminating dynamic SQL construction from untrusted input and reducing database privileges.

Common defensive patterns include:

  • Use parameterized queries and framework APIs that bind values rather than concatenate SQL fragments
  • Validate the num parameter against a strict numeric schema and reject unexpected values
  • Keep query structure separate from user-supplied data, including pagination and limit handling
  • Apply least-privilege permissions to the application database account
  • Avoid exposing database error details through HTTP responses
  • Enforce authentication and network access controls for endpoints that do not need public exposure

How teams detect issues like this

Organizations can look for SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL and ORM query construction
  • Code review checks for request parameters passed into query wrappers without typed validation or binding
  • Dynamic testing of public endpoints for unexpected query behavior, error leakage, and response differences
  • Web application firewall or API gateway policies that detect anomalous query-oriented input
  • Database monitoring for unusual union-like queries, repeated probing, or unexpected access to sensitive tables

Automated security review tools may help identify unsafe query construction during development.

Organizations can look for SQL injection risks through:

  • Static analysis rules identifying string concatenation or interpolation in SQL and ORM query construction
  • Code review checks for request parameters passed into query wrappers without typed validation or binding
  • Dynamic testing of public endpoints for unexpected query behavior, error leakage, and response differences
  • Web application firewall or API gateway policies that detect anomalous query-oriented input
  • Database monitoring for unusual union-like queries, repeated probing, or unexpected access to sensitive tables

Automated security review tools may help identify unsafe query construction during development.

Sources

SourceLink
github.comgithub.com/Thecosy/IceCMS
github.comgithub.com/Thecosy/IceCMS/blob/afd7a9f0d04a714e7c7e735e566c27f54b5d5201/IceCMS-ment/src/main/java/com/ttice/icewkment/controller/frontend/WebArticleController.java#L169-L175
hackmd.iohackmd.io/@hieuPenguinnn/icecms-webresource-webarticle-findbynum-limit-sqli
vulncheck.comvulncheck.com/advisories/icecms-through-4.1.5-sql-injection-via-webarticle-findarticlesbynum

Frequently asked

questions

Yes. A remote attacker may exploit the issue when the affected article endpoint is reachable over the network and accepts unauthenticated requests.

The reported issue is unauthenticated, so an attacker generally needs only network access to the vulnerable endpoint. Deployment-level controls may limit exposure.

Use parameterized queries or safe ORM binding mechanisms, enforce strict numeric validation, and prevent user input from changing SQL structure.

Combine secure query APIs, centralized input validation, least-privilege database accounts, endpoint access controls, code review, and automated testing for injection behavior.

Yes. A remote attacker may exploit the issue when the affected article endpoint is reachable over the network and accepts unauthenticated requests.

The reported issue is unauthenticated, so an attacker generally needs only network access to the vulnerable endpoint. Deployment-level controls may limit exposure.

Use parameterized queries or safe ORM binding mechanisms, enforce strict numeric validation, and prevent user input from changing SQL structure.

Combine secure query APIs, centralized input validation, least-privilege database accounts, endpoint access controls, code review, and automated testing for injection behavior.

Find out what's already
exploitable in your codebase.