This is graffiti on the inside of a locked maintenance closet, not a burglar kicking in the front door
CVE-2026-7012 is an authenticated XSS in the Redirect Plugin of MaxSite CMS 109.0 through 109.3, fixed in 109.4. The vulnerable flow is the rendering of plugin settings tied to the f_all / f_all404 arguments without proper output encoding; the vendor says the fix was adding htmlspecialchars() and explicitly characterizes the issue as Self-XSS.
The vendor's LOW 2.4 is still a little generous in enterprise terms. The decisive friction is not the payload quality but the attacker position: this starts from high-privilege authenticated access to a niche CMS, then requires someone to load the affected admin page; that is already well into post-compromise territory, with narrow exposure and limited blast radius.
4 steps from start to impact.
Obtain CMS admin-level access
- Target runs MaxSite CMS 109.0-109.3
- Attacker has high-privilege CMS credentials or session
- Redirect Plugin settings are reachable to that role
- Requires prior compromise or legitimate privileged access
- MFA, SSO, and admin IP restrictions should block a lot of real deployments
- MaxSite CMS is a niche platform with low enterprise prevalence
Store script in Redirect Plugin settings
f_all / f_all404 parameters. The payload is then stored and later reflected back into the admin UI without proper encoding on vulnerable builds.- Attacker can submit plugin configuration values
- Application is still on a pre-109.4 build
- No custom hardening already sanitizes those fields
- The payload lands in an admin-only path, not a public content surface
- Many orgs have one or very few admins, reducing target opportunities
- If the same admin inserts and later views the value, this is functionally self-XSS
Trigger execution when the admin page is viewed
- A privileged user opens the affected admin page
- Browser-side defenses do not neutralize the payload
- The user's session is still valid
- Requires user interaction
- Impact stays inside the already-privileged admin plane
- Modern browser controls and short-lived sessions reduce practical utility
Pivot to admin-side actions
- There is another more valuable admin user to target
- Role separation exists inside the CMS
- The payload can reliably drive same-origin actions
- Many MaxSite deployments are small and single-admin
- No evidence of in-the-wild chaining or campaign use
- Blast radius is local to one CMS instance
- A perimeter WAF will not meaningfully solve this, because the malicious request is legitimate authenticated admin traffic to a normal settings endpoint.
- Basic network segmentation does not remove the core risk once an attacker already has privileged browser access to the admin interface.
- Blindly prioritizing by public PoC exists is misleading here; the exploit still depends on privileged access and page rendering.
The supporting signals.
| In-the-wild status | No evidence found of active exploitation. CISA KEV: not listed. |
|---|---|
| Proof-of-concept availability | Yes. The CVE references a public researcher report on GitHub: wnaspy/CVE PDF write-up. |
| EPSS | 0.00013 from the user-supplied intel block, which is effectively floor-level exploit probability. |
| KEV status | Not in KEV as of the current CISA catalog page reviewed. |
| CVSS vector meaning | AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N means remote reachability is outweighed by high privileges required and user interaction required; integrity impact is only low. |
| Affected versions | MaxSite CMS 109.0, 109.1, 109.2, 109.3 are marked affected in the CVE record; component called out is the Redirect Plugin. |
| Fixed version | 109.4. The patch commit is 8a3946bd0a54bfb72a4d57179fcd253f2c550cd7. |
| Vendor stance | Vendor/CNA labels it LOW 2.4 and notes it as "Self-XSS" caused by missing htmlspecialchars() output encoding. |
| Exposure population | W3Techs reports MaxSite CMS usage at less than 0.1% of websites with an identified CMS, which is a strong downward pressure on enterprise prioritization. |
| Disclosure and credit | Published 2026-04-26; OpenCVE exposes the CVE timeline and credits konchan (VulDB User) with coordination by the VulDB CNA Team. |
Sources.
- NVD entry for CVE-2026-7012
- OpenCVE record for CVE-2026-7012
- MaxSite CMS fix commit 8a3946b
- Vendor security update note for MaxSite CMS 109.3+/109.4
- Public researcher write-up referenced by the CVE
- W3Techs MaxSite CMS usage statistics
- CISA Known Exploited Vulnerabilities Catalog
- FIRST EPSS information page
Why this verdict
- Requires high privileges first:
PR:Hmeans the attacker is already inside the admin plane, which is compounding downward pressure on severity. - User interaction is mandatory: the payload needs an admin page view before anything happens, so this is not a one-shot remote exploit.
- Tiny reachable population: MaxSite CMS is a niche CMS with W3Techs showing less than 0.1% usage, which sharply limits enterprise exposure.
- Low external threat signal: no KEV entry, no campaign reporting, and the supplied EPSS 0.00013 all argue against urgent patch treatment.
- Blast radius is narrow: impact is confined to the local CMS admin context and mainly matters only if one privileged user can target another.
Why not higher?
Because this is not unauthenticated, not low-privilege, and not broadly internet-exploitable in the way that matters for enterprise triage. A flaw that starts with admin compromise and then needs page rendering is not a serious patch-priority driver on its own.
Why not lower?
It still reflects a real output-encoding defect and a real stored/admin-side script execution path on vulnerable builds. In a multi-admin deployment with poor session controls, one privileged user could still abuse it against another, so documenting it as a pure non-issue without any rationale would be sloppy.
Crowdsourced verification payload.
Run this on the target MaxSite CMS host or against a mounted application directory. Invoke it as bash check-maxsite-cve-2026-7012.sh /var/www/html/maxsite with read access to the CMS files; no root is required unless the webroot is restricted. The script checks the core version in application/libraries/maxsite_lib.php and outputs VULNERABLE, PATCHED, or UNKNOWN.
#!/usr/bin/env bash
# check-maxsite-cve-2026-7012.sh
# Detects likely exposure to CVE-2026-7012 in MaxSite CMS based on installed version.
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN, 3=USAGE
set -u
TARGET="${1:-}"
if [[ -z "$TARGET" ]]; then
echo "UNKNOWN - usage: $0 /path/to/maxsite" >&2
exit 3
fi
VERFILE="$TARGET/application/libraries/maxsite_lib.php"
if [[ ! -f "$VERFILE" ]]; then
echo "UNKNOWN - version file not found: $VERFILE"
exit 2
fi
version=$(grep -E "public \$version = '[0-9]+\.[0-9]+';" "$VERFILE" 2>/dev/null | sed -E "s/.*'([0-9]+\.[0-9]+)'.*/\1/" | head -n1)
if [[ -z "$version" ]]; then
echo "UNKNOWN - unable to parse MaxSite CMS version from $VERFILE"
exit 2
fi
major=${version%%.*}
minor=${version##*.}
if [[ "$major" =~ ^[0-9]+$ && "$minor" =~ ^[0-9]+$ ]]; then
if (( major < 109 )); then
echo "UNKNOWN - parsed version $version is outside the CVE's stated affected range"
exit 2
elif (( major == 109 && minor <= 3 )); then
echo "VULNERABLE - MaxSite CMS version $version (affected: 109.0-109.3, fixed: 109.4)"
exit 1
elif (( major > 109 || (major == 109 && minor >= 4) )); then
echo "PATCHED - MaxSite CMS version $version (fixed in 109.4+)"
exit 0
fi
fi
echo "UNKNOWN - unable to classify parsed version $version"
exit 2