/

CVE-2026-88746

Severity:

HIGH RISK

(7.1)

Cross-Site Scripting (CWE-79) in idccms makeDiy_deal

CVE-2026-88746

Deferred

Vulnerability type

Category:

Cross-Site Scripting

CWE:

CWE-79

Impact:

Client-Side Code Execution and Session Compromise

Severity:

HIGH RISK

(7.1)

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

A cross-site scripting vulnerability in idccms V1.70 affects the /admin/makeDiy_deal.php administrative endpoint. If attacker-controlled input is accepted and later rendered without adequate output encoding, an attacker may execute script content in a victim's browser under the application's origin.

Affected context

The vulnerability occurs in the idccms administrative interface, specifically the /admin/makeDiy_deal.php request path. Risk depends on whether supplied or stored values reach an HTML, JavaScript, or attribute context without context-appropriate encoding, and whether an attacker can submit data that is subsequently viewed by administrators or other users.

Exploit preconditions

  • Attack surface: The idccms administrative web endpoint at /admin/makeDiy_deal.php
  • Required access: Ability to submit or influence input processed by the endpoint; the exact access level depends on deployment permissions
  • Trigger point: A vulnerable value is rendered in a browser without sufficient output encoding
  • Why exploitation is possible: Untrusted input may be interpreted as executable browser content rather than displayed strictly as data

Why this happens

The underlying bug is insufficient separation between untrusted input and browser-interpreted output. When application-controlled values are inserted into an HTML, script, URL, or attribute context without the appropriate context-sensitive encoding, the browser may interpret attacker-controlled markup or script as active content. This behavior maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly known as cross-site scripting.

Potential impact

  • An attacker may execute script in a victim's browser context
  • Session identifiers or other accessible browser data could be exposed
  • Administrative actions could be performed through the victim's authenticated session
  • Page content could be altered to support phishing or unauthorized data collection

General mitigation guidance

Mitigation generally focuses on treating all request and persisted values as untrusted and enforcing safe rendering boundaries.

Common defensive patterns include:

  • Applying context-specific output encoding at every browser-rendering sink
  • Using framework templating features that escape output by default
  • Validating inputs against narrowly defined formats where business rules permit
  • Avoiding unsafe HTML, script, and URL construction from user-controlled values
  • Enforcing an appropriately restrictive Content Security Policy as defense in depth
  • Limiting administrative privileges and reducing exposure of the affected endpoint
  • Protecting session cookies with appropriate security attributes

How teams detect issues like this

Organizations commonly detect cross-site scripting risks through:

  • Static analysis for untrusted data flows into HTML, JavaScript, URL, and attribute sinks
  • Code review checks for disabled template escaping or direct response construction
  • Dynamic testing of administrative forms and endpoint parameters using non-destructive markers
  • Policy enforcement requiring context-aware encoding and secure templating APIs
  • Automated application security testing and code review tools that trace input-to-output flows

Sources

SourceLink
github.comgithub.com/ants01/idccms-V1.70-is-vulnerable-to-XSS

Frequently asked

questions

It may be exploitable through web requests if an attacker can reach the affected endpoint and influence data that is later rendered in a browser. The practical scope depends on authentication, authorization, and how the submitted value is displayed.

Not necessarily in every deployment. The required access depends on the endpoint's authorization controls and whether untrusted users can submit data that an administrator or another privileged user later views.

Treat input as data, use context-specific output encoding, and rely on secure-by-default templating rather than constructing browser-interpreted content manually.

Combine input trust-boundary reviews, automatic output escaping, focused static and dynamic testing, restrictive content security policies, and least-privilege access controls.

Find out what's already
exploitable in your codebase.