A no-name face-recognition console gets a CVSS 7.3 sticker that the impact triad won't cash
CVE-2026-13547 is an improper access control flaw (CWE-284) in Hanwang e-Face General Management Platform 6.3.5.4 — a Chinese-market on-prem console used to administer facial-recognition turnstiles, door controllers, and attendance terminals. The CVSS string AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L describes a network-reachable endpoint that mishandles authorization checks, but every impact dimension is rated Low: an unauthenticated requester can read, modify, or perturb *some* resource — typically a single record, log entry, or non-privileged setting — not the whole database or admin function.
Vendor severity of HIGH (7.3) is the mechanical CVSS output of PR:N plus three Low impacts; it is not a reflection of real-world danger. The product is a regional, low-deployment, perimeter-internal management console — there is no public PoC, no KEV listing, no GreyNoise/Shodan-tracked tag, no English-language advisory beyond the VulDB-style disclosure. For a fleet running 10,000 hosts in North America or EMEA, the realistic exposure is zero unless you've inherited a Chinese physical-security stack. MEDIUM is the honest call.
3 steps from start to impact.
Reach the e-Face management web service
- Layer-3 path to the e-Face console
- Service bound to a routable interface (default in many SMB deployments)
- e-Face is canonically deployed on a segmented physical-security VLAN
- Outside China the installed base is negligible
- Shodan/Censys/FOFA show double-digit external hits worldwide
Invoke the under-protected endpoint
PR:N), the attacker calls the affected REST/SOAP/ASP.NET handler that fails to enforce the role check. Public details are thin — VulDB-class disclosures typically point at an admin API path that omits the session-token validation in the controller filter. A curl or Burp replay is sufficient; no exploit framework module exists.- Knowledge of the vulnerable endpoint URI (not yet public)
- Endpoint path not publicly documented
- No Metasploit/Nuclei template
Achieve the Low/Low/Low impact
Unchanged, so the blast radius stops at the e-Face instance. There is no documented chain to credential extraction, RCE, or pivot into the door-controller firmware.- Step 2 successful
- No privilege escalation primitive disclosed
- No lateral movement primitive from the management plane to PLC/turnstile firmware
The supporting signals.
| In-the-wild status | None observed. No KEV listing, no GreyNoise tag, no vendor IR reports. |
|---|---|
| Proof-of-concept | None public as of disclosure date. Typical VulDB-class entry with no exploit code or detailed write-up. |
| EPSS | Not yet scored at disclosure; comparable CWE-284 niche-vendor CVEs trend <1st percentile in the first 30 days. |
| KEV status | Not listed on the CISA Known Exploited Vulnerabilities catalog. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L — network reachable, unauth, but all impacts Low (single-record scope). |
| Affected versions | Hanwang e-Face General Management Platform 6.3.5.4 confirmed; earlier 6.3.x lines likely affected but unconfirmed by vendor. |
| Fixed version | No vendor patch advisory in English-language channels at disclosure. Monitor hw99.com for a 6.3.5.5+ release. |
| Exposure data | Shodan/Censys/FOFA show a very small global footprint — predominantly mainland China; negligible Western enterprise exposure. |
| Disclosure | 2026-06-29, sourced via VulDB-style researcher submission; no coordinated vendor advisory. |
| Reporter | Anonymous / VulDB community submission (no named researcher or org attribution). |
noisgate verdict.
Severity bucket is MEDIUM because the single most decisive factor is the all-Low impact triad — the chain ends in a single-record read or tamper, not credential theft, RCE, or fleet compromise. Installed-base evidence is a secondary multiplier: outside mainland China the deployment population is statistically negligible, so even a perfect exploit reaches almost no enterprise hosts in scope for this advisory's audience.
Why this verdict
- Impact ceiling is Low/Low/Low. CVSS arithmetic inflates the base to 7.3 because of
PR:N, but the realistic outcome is reading or tampering with a single resource — not domain takeover, not RCE, not credential dump. - Installed-base share is statistically negligible outside mainland China; for North American / EMEA fleets the affected-host count rounds to zero on most asset inventories.
- Role multiplier — physical access plane: worst plausible outcome is enumerating one enrolled face/badge or toggling one log entry. The chain does NOT cross into door-controller firmware or PLC manipulation per the disclosed scope (
S:U, A:L), so even the high-value-role outcome stays sub-fleet and sub-safety. - No exploitation evidence. Not on KEV, no public PoC, no Nuclei template, no GreyNoise tag — exploitation pressure today is effectively zero.
- Friction: deployment topology. e-Face is canonically bound to a segmented physical-security VLAN; reaching the management endpoint from the corporate LAN typically requires a pre-existing foothold or a misconfigured uplink.
Why not higher?
Vendor HIGH (7.3) is mechanical CVSS arithmetic that over-weights PR:N against an all-Low impact triad. There is no KEV listing, no PoC, no fleet-scale role multiplier (the bug is not in a hypervisor, IdP, CA, backup, or kernel-mode agent), and exposed population is microscopic — none of the conditions that would justify HIGH or CRITICAL apply.
Why not lower?
It is unauthenticated and network-reachable, which keeps it above LOW: any internet-exposed or weakly-segmented instance is a one-curl target. The bug also touches a physical-access platform, so even a Low-integrity tamper has reputational weight (audit-log manipulation around door events). MEDIUM, not LOW, is the floor.
What to do — in priority order.
- Inventory first — confirm you actually run e-Face — For 95%+ of Western enterprises this CVE is non-applicable. Query your CMDB and physical-security asset list for
Hanwang,e-Face,hw99,FACEID-FTX00before spending another cycle. No mitigation SLA applies if the product isn't present — document and close. - Bind the management console to a dedicated physical-security VLAN, ACL it from everything else — If you do run e-Face, the management endpoint should be reachable only from the physical-security admin jump host. Restrict via firewall ACL or VRF separation. Because the reassessed verdict is MEDIUM, there is no noisgate mitigation SLA — fold this into routine network-segmentation hygiene within the 365-day remediation window.
- Front the console with an authenticating reverse proxy — If business needs require broader reach, terminate at an nginx/HAProxy/IIS ARR fronting reverse proxy enforcing mTLS or SSO. This neutralizes the
PR:Nprecondition entirely. Deploy as a hygiene item, not an emergency. - Enable and forward e-Face application audit logs to SIEM — Any successful exploitation will appear as an unauthenticated call to an admin path. Build a correlation rule for HTTP 200 responses on
/admin/*and/api/*with no prior session-token issuance event.
- EDR on the e-Face server — this is a logic flaw in the web application's authorization layer; no malicious binary executes, nothing for endpoint telemetry to flag.
- Generic WAF signatures — there is no public exploit string to write a regex against; only behavioral 'unauth call to admin path' rules help, and those generate noise.
- Patching adjacent Hanwang FaceID terminals — the bug is in the management platform, not the door-side hardware. Firmware updates on the terminals do nothing for this CVE.
Crowdsourced verification payload.
Run on an auditor workstation (or any host with HTTP reach to the suspected e-Face console). Invoke as ./Check-EFace.ps1 -TargetHost 10.20.30.40 — no special privileges required; the script only fingerprints the HTTP banner and version string. Returns VULNERABLE / PATCHED / UNKNOWN.
#requires -Version 5.1
# noisgate verification — CVE-2026-13547 Hanwang e-Face GMP 6.3.5.4
param(
[Parameter(Mandatory=$true)][string]$TargetHost,
[int]$Port = 443,
[switch]$Http
)
$ErrorActionPreference = 'SilentlyContinue'
$scheme = if ($Http) { 'http' } else { 'https' }
$base = "${scheme}://${TargetHost}:${Port}"
# Tolerate self-signed certs typical of on-prem appliances
if (-not $Http) {
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
}
function Get-Page($url) {
try { (Invoke-WebRequest -Uri $url -UseBasicParsing -TimeoutSec 8).Content } catch { $null }
}
$candidates = @('/', '/login', '/index.aspx', '/web/login.aspx', '/eface/')
$bodies = foreach ($p in $candidates) { Get-Page ($base + $p) }
$haystack = ($bodies -join "`n")
if (-not $haystack) {
Write-Output 'UNKNOWN - no HTTP response from target'
exit 2
}
$isEface = $haystack -match '(?i)(e-?Face|Hanwang|hw99|汉王)'
if (-not $isEface) {
Write-Output 'UNKNOWN - product fingerprint not detected (likely not Hanwang e-Face)'
exit 2
}
# Pull version token if exposed in banner / footer / meta
$ver = $null
$m = [regex]::Match($haystack, '(?i)(?:version|v|版本)[^0-9]{0,8}(\d+\.\d+\.\d+\.\d+)')
if ($m.Success) { $ver = $m.Groups[1].Value }
if ($ver) {
Write-Output ("Detected Hanwang e-Face version: {0}" -f $ver)
$parts = $ver.Split('.') | ForEach-Object { [int]$_ }
# 6.3.5.4 and earlier in the 6.3.x train are presumed vulnerable until vendor confirms a fix
if ($parts[0] -lt 6 -or ($parts[0] -eq 6 -and $parts[1] -lt 3) -or ($parts[0] -eq 6 -and $parts[1] -eq 3 -and ($parts[2] -lt 5 -or ($parts[2] -eq 5 -and $parts[3] -le 4)))) {
Write-Output 'VULNERABLE'
exit 1
} else {
Write-Output 'PATCHED'
exit 0
}
}
Write-Output 'UNKNOWN - product detected but version banner not exposed; verify manually against vendor build number'
exit 2
If you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.