← Back to Feed CACHED · 2026-06-29 12:01:51 · CACHE_KEY CVE-2026-13546
CVE-2026-13546 · CWE-287 · Disclosed 2026-06-29

A vulnerability was found in Feehi CMS up to 2

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A research-grade Chinese CMS with a few hundred public instances gets another auth flaw rubber-stamped HIGH by the CNA

CVE-2026-13546 is a CWE-287 *improper authentication* flaw in Feehi CMS through version 2.1.1 — a small Yii2-based content management project (liufee/cms on GitHub) that's primarily used as a learning/demo CMS in Chinese developer circles. The CVSS vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L indicates network-reachable, unauthenticated, low-complexity exploitation that yields *partial* confidentiality, integrity, and availability impact — consistent with bypassing a login check on a specific endpoint or weak session handling rather than full admin takeover. No vendor advisory, no PoC repo, no exploit-db entry, no GitHub Security Advisory text beyond the bare CVE assignment as of disclosure day.

The vendor/CNA score of 7.3 HIGH is defensible on paper because three Low impacts add up arithmetically, but it ignores the practitioner reality: Feehi CMS has a Shodan/Censys footprint in the low hundreds globally, no enterprise penetration, no commercial deployments worth naming, and a maintainer who hasn't shipped a release in years. The triple-Low impact metric — meaning the bypass does not yield full admin or RCE on its own — confirms this is not a domain-takeover bug. For an enterprise defender running 10,000 hosts, the realistic exposure is effectively zero unless a developer stood up a sample app and left it on the internet.

"Auth bypass in a niche Yii2 CMS with a tiny install base — downgrade from HIGH to MEDIUM, patch in the normal cycle."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Discover an exposed Feehi CMS instance

Attacker fingerprints internet-reachable Feehi CMS using the default favicon hash, the /admin path, or Yii2-specific response headers. Public scanners list well under 1,000 such instances worldwide. Mass-scanners like httpx + nuclei Feehi templates are the typical tool.
Conditions required:
  • target instance publicly reachable on HTTP/HTTPS
  • no WAF or auth proxy in front
Where this breaks in practice:
  • installed base is tiny — Feehi is not in any enterprise software catalog
  • most deployments are local dev/lab environments, not production
Detection/coverage: any external attack-surface scanner (Censys, Runzero, Bitsight) will already inventory exposed Feehi instances; nuclei has community templates
STEP 02

Hit the unauthenticated endpoint exposed by the auth flaw

Per CVSS PR:N/UI:N, the flaw is triggered by an unauthenticated HTTP request to a specific controller action that fails to enforce its access filter — typical of Yii2 controllers missing a behaviors() access rule. The attacker sends a crafted request, likely with curl or Burp Repeater, against the vulnerable route.
Conditions required:
  • knowledge of the vulnerable route (likely disclosed once a PoC lands)
  • default Yii2 routing enabled
Where this breaks in practice:
  • no public PoC at disclosure
  • the specific vulnerable controller is not yet named in the CVE record
Detection/coverage: generic web-attack rules will not catch this — needs a Feehi-specific signature once PoC drops
STEP 03

Read or modify limited application state

The triple-Low CVSS impact (C:L/I:L/A:L) constrains the outcome to partial disclosure of data, partial modification of records, and partial availability impact on the affected component — consistent with viewing or editing one resource scope (e.g., a single user record or content item) without full admin escalation. Tools: any HTTP client.
Conditions required:
  • step 2 succeeded
Where this breaks in practice:
  • no privilege escalation path documented — full takeover requires chaining with the older CVE-2022-34140 XSS or the authenticated RCE in exploit-db 51018
Detection/coverage: application audit logs will record the anomalous unauthenticated action if logging is enabled — most Feehi installs do not
STEP 04

Pivot via secondary chain (optional, requires more bugs)

To turn a limited bypass into meaningful enterprise impact, the attacker would need to chain with the known authenticated RCE (exploit-db 51018) or stored XSS to hijack an admin session. This is a multi-bug chain, not a one-shot. Tool: Metasploit aux modules do not currently cover Feehi.
Conditions required:
  • a second exploitable bug in the same instance
  • an admin user actively browsing the affected pages for XSS chain
Where this breaks in practice:
  • chained exploitation is theoretical — no public end-to-end PoC exists
Detection/coverage: EDR on the host running PHP-FPM will catch the RCE stage; the auth-bypass stage alone is invisible to most EDR
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo observed exploitation. Not in CISA KEV. No vendor or CERT campaign telemetry.
PoC availabilityNone at disclosure (2026-06-29). Historical Feehi PoCs live on exploit-db.com (51002, 51018) and liufee/cms GitHub issues.
EPSSNot yet scored at disclosure day; comparable Feehi CVEs sit at <0.2% (bottom decile).
KEV statusNot listed. Unlikely candidate — no enterprise footprint.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L — unauthenticated network reach, *partial* impact across CIA. The triple-Low impact is the tell that this is not full takeover.
Affected versionsFeehi CMS ≤ 2.1.1 (all currently published releases; project last tagged years ago).
Fixed versionNo fix released as of 2026-06-29. Upstream liufee/cms has been effectively unmaintained — expect no patch.
Exposure dataShodan / Censys consistently return < 500 public Feehi CMS instances globally; near-zero enterprise presence. GreyNoise shows no targeted scanning for Feehi paths.
Disclosure date2026-06-29 (today). VulDB-assigned CVE.
ReporterUnattributed in the CVE record at publication time; consistent with VulDB-sourced research-grade disclosures.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (4.8/10)

Decisive factor: installed-base share well below 1% in any enterprise environment combined with C:L/I:L/A:L impact — this is a partial auth bypass on a hobby/learning CMS with no commercial footprint, not a domain-takeover bug. The vendor's HIGH (7.3) is CVSS-arithmetic correct but practitioner-misleading; real-world blast radius is one lab box, not a fleet.

HIGH confidence that Feehi CMS has negligible enterprise footprint
MEDIUM confidence in the technical nature of the bug (CVE record is sparse pre-PoC)
HIGH confidence that no high-value-role deployment exists for this component

Why this verdict

  • Vendor score inflation: CVSS 7.3 is arithmetically correct but the triple-Low impact metric means this is *not* a full takeover — it is a partial bypass yielding limited read/write on a single resource scope.
  • Population friction: Feehi CMS public exposure is in the low hundreds globally per Shodan/Censys — orders of magnitude smaller than any product that warrants a HIGH operational verdict.
  • Role multiplier: Feehi is never deployed as an identity provider, hypervisor, backup server, CA, kernel agent, or any other high-value-role component in the noisgate catalog. Worst plausible role is a marketing microsite or a developer's lab box — blast radius caps at *one host, one tenant*. The deployment-role floor does not apply.
  • No KEV / no PoC / no campaign: disclosed today by a research CNA with no exploitation evidence and no expected attacker investment given the tiny target population.
  • No vendor fix expected: upstream liufee/cms is effectively abandoned, which makes *removal* the only viable long-term control — that's a config/lifecycle issue, not a patching emergency.

Why not higher?

HIGH would be appropriate if Feehi were enterprise software, or if the impact metrics were High across CIA, or if there were active exploitation in the wild. None of those hold. The CVSS arithmetic produces 7.3 but the operational picture is a niche CMS with partial-impact bypass.

Why not lower?

LOW or IGNORE would be wrong because the flaw *is* remotely reachable with no authentication and no user interaction, and a defender who has a Feehi instance on the perimeter (rare but real) still has a real bug to fix. MEDIUM acknowledges the real, exploitable bug while reflecting the negligible blast radius.

05 · Compensating Control

What to do — in priority order.

  1. Inventory for any Feehi CMS instance on the network — Run an external ASM sweep (Censys, Runzero) and an internal HTTP fingerprint pass for the Feehi favicon hash and /admin login banner. Per the noisgate MEDIUM SLA there is no mitigation deadline — handle in normal asset-inventory cadence, ideally within the next monthly review.
  2. Block the affected endpoint at the WAF or reverse proxy — Once a PoC names the vulnerable route, add a WAF deny rule for that path. Until then, restrict /admin and any non-public Feehi paths to an IP allowlist. Deploy alongside your normal MEDIUM remediation work — no fast-track required.
  3. Remove or replace Feehi CMS entirely — Upstream is unmaintained; this CVE will not be patched. Migrate the content to a supported CMS (WordPress, Ghost, Strapi) within the 365-day remediation window. This is the only durable fix.
  4. Put any Feehi instance behind authenticated reverse proxy (SSO/MFA) — Cloudflare Access, AWS ALB-OIDC, or an internal SAML proxy in front of Feehi neutralizes the PR:N/UI:N attack vector without touching application code. Implement in the normal change window.
What doesn't work
  • Generic OWASP CRS rules — the auth bypass is application-specific and will not trigger SQLi/XSS signatures.
  • Yii2 framework updates — the flaw is in Feehi controller logic (missing access filter), not in Yii2 itself; upgrading Yii will not fix it.
  • Network segmentation alone — if the instance is exposed externally for a reason (marketing site), internal segmentation does not change the attack surface.
06 · Verification

Crowdsourced verification payload.

Run this from an auditor workstation or an internal scanning host with network reach to your candidate targets. Invoke as ./check-feehi.sh https://target.example.com — no privileges required, just outbound HTTP. The script fingerprints Feehi CMS and reports the version exposed.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate verifier: CVE-2026-13546 (Feehi CMS <= 2.1.1 improper authentication)
# Usage: ./check-feehi.sh <base-url>
# Exit codes: 0=PATCHED/NOT_FEEHI, 1=VULNERABLE, 2=UNKNOWN
set -u
TARGET="${1:-}"
if [[ -z "$TARGET" ]]; then
  echo "usage: $0 <base-url>" >&2
  exit 2
fi

UA='noisgate-verifier/1.0'
# Pull root and login page; Feehi advertises itself in HTML meta + Yii2 cookies
ROOT=$(curl -ksS -A "$UA" --max-time 10 "$TARGET/" || true)
ADMIN=$(curl -ksS -A "$UA" --max-time 10 "$TARGET/admin" || true)

if ! grep -qiE 'feehi|liufee' <<<"$ROOT$ADMIN"; then
  echo "PATCHED (no Feehi CMS fingerprint on $TARGET)"
  exit 0
fi

# Extract version from generator meta or footer credit
VER=$(grep -oiE 'feehi[^<"]{0,40}' <<<"$ROOT$ADMIN" | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -1)

if [[ -z "$VER" ]]; then
  echo "UNKNOWN (Feehi detected on $TARGET but version not parsed — treat as VULNERABLE until proven otherwise)"
  exit 2
fi

# All currently published Feehi releases (<=2.1.1) are affected; no fix released
awk -v v="$VER" 'BEGIN{
  split(v,a,"."); maj=a[1]+0; min=a[2]+0; pat=a[3]+0;
  if (maj<2 || (maj==2 && min<1) || (maj==2 && min==1 && pat<=1)) { print "VULNERABLE (Feehi " v " on target — CVE-2026-13546 applies, no upstream fix)"; exit 1 }
  else { print "UNKNOWN (Feehi " v " — newer than 2.1.1, verify against vendor advisory)"; exit 2 }
}'
07 · Bottom Line

If you remember one thing.

TL;DR
Monday-morning play: inventory first, panic never. Run an external ASM sweep and an internal HTTP fingerprint pass for Feehi CMS — if you find zero instances (the overwhelmingly likely outcome for any enterprise), document the result and move on. If you do find a Feehi box, the noisgate mitigation SLA for MEDIUM has no mitigation deadline, so skip the fire drill: put the instance behind an SSO reverse proxy or an IP allowlist as part of normal change management, and plan removal/replacement within the noisgate remediation SLA of ≤ 365 days since upstream liufee/cms is unmaintained and no vendor patch is coming. If your discovery sweep finds a Feehi instance externally exposed *and* PoC code drops later, re-evaluate — until then this is a backlog item, not a Tuesday-morning emergency.

Sources

  1. VulDB / CVE.report — Feehi CMS history
  2. CVE Details — Feehi CMS 2.1.1
  3. Feehi CMS upstream repository (liufee/cms)
  4. Exploit-DB 51018 — Feehi CMS 2.1.1 Authenticated RCE
  5. Exploit-DB 51002 — Feehi CMS 2.1.1 Stored XSS
  6. GHSA — Feehi CMS host header injection (CVE-2022-38796)
  7. CWE-287: Improper Authentication
  8. CISA KEV catalog (Feehi not listed)
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.