/

CVE-2026-70552

Severity:

CRITICAL RISK

(9.8)

Authentication Bypass (CWE-306) in MaxSite CMS AJAX

CVE-2026-70552

Deferred

Vulnerability type

Category:

Authentication Bypass

CWE:

CWE-306

Impact:

Unauthorized access to privileged functionality

Severity:

CRITICAL RISK

(9.8)

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

MaxSite CMS 109.5 and earlier contains a critical authentication bypass in its AJAX dispatcher. An unauthenticated attacker may reach administrator-gated plugin endpoints by providing an accepted X-Requested-With header and a base64-encoded path targeting an AJAX PHP file, potentially enabling unauthorized state changes or other privileged operations.

Affected context

The vulnerability occurs in MaxSite CMS deployments using the affected AJAX dispatcher and plugin endpoints that rely on dispatcher-level authentication checks. Risk is present when an attacker can submit requests to the dispatcher, the request satisfies its header and path-handling conditions, and the resolved target is an admin-gated *-ajax.php file whose own authorization controls are insufficient.

Exploit preconditions

  • Attack surface: The MaxSite CMS AJAX dispatcher and reachable plugin AJAX handlers
  • Required access: No valid account or prior authentication is generally required
  • Trigger point: A dispatcher request containing an accepted X-Requested-With header and a base64-encoded path resolving to a *-ajax.php file
  • Why exploitation is possible: The dispatcher can route the request to privileged AJAX functionality without reliably enforcing authentication before dispatch

Why this happens

The underlying bug is an authentication enforcement failure in request dispatch. The AJAX dispatcher treats request metadata and a decoded file path as sufficient conditions for routing, while privileged handlers may be reachable without an effective authentication or authorization check. This maps to CWE-306: Missing Authentication for Critical Function, because sensitive functionality can be invoked without establishing the identity of the requester.

Potential impact

  • Unauthenticated attackers may access administrator-gated AJAX operations
  • Poll states and vote counts could be manipulated
  • Plugin-specific privileged actions may be performed without authorization
  • Additional dangerous operations exposed through plugin AJAX files could be abused
  • Application integrity, availability, or administrative control may be affected

General mitigation guidance

Mitigation generally focuses on enforcing authentication and authorization at every privileged operation rather than relying only on dispatcher behavior.

Common defensive patterns include:

  • Require an authenticated session and appropriate authorization capability before executing each sensitive AJAX handler
  • Use an explicit allowlist of callable actions instead of resolving arbitrary filesystem paths
  • Treat request headers, encoded paths, and client-controlled routing values as untrusted input
  • Apply strict path normalization and reject unexpected files or traversal-like resolutions
  • Use deny-by-default access controls for administrative endpoints
  • Run application components with the minimum database and filesystem privileges they require
  • Protect state-changing requests with appropriate CSRF defenses in addition to authentication

How teams detect issues like this

Organizations commonly detect this class of issue through:

  • Static analysis for AJAX dispatchers that route client-controlled paths or invoke handlers without authorization checks
  • Code review searches for administrative endpoints lacking explicit authentication and capability checks
  • Dynamic tests that submit unauthenticated requests to every AJAX action and verify consistent access denial
  • Web application firewall or gateway policies restricting administrative AJAX routes and unexpected routing parameters
  • Audit logging and alerting for unauthenticated requests that reach privileged plugin handlers

Automated security review tools may help identify missing authorization checks, but endpoint-level testing is important for validating dispatcher behavior.

Sources

SourceLink
github.comgithub.com/maxsite/cms
max-3000.commax-3000.com/page/maxsite-cms-109-6
vulncheck.comvulncheck.com/advisories/maxsite-cms-unauthenticated-ajax-dispatcher-bypass-via-ajax-php

Frequently asked

questions

Yes. It may be exploitable over the network by unauthenticated users when the vulnerable AJAX dispatcher is publicly reachable.

No valid account is expected to be necessary for the dispatcher bypass itself, although the exact impact depends on which plugin endpoints are enabled and reachable.

Enforce authentication and authorization inside every privileged AJAX handler, use deny-by-default routing, and avoid dispatching arbitrary client-selected filesystem paths.

Inventory all administrative endpoints, test them without credentials, validate authorization server-side for each action, and monitor for unusual unauthenticated access to privileged routes.

Find out what's already
exploitable in your codebase.