Dell wrapped the BIOS admin password in a bathrobe and called it a vault
Dell's Client Platform BIOS stores the setup/admin password inside the DVAR region of the SPI flash chip using a repeating 20-byte XOR key applied to a 32-byte field. The first character is stored in the clear, and because the field is null-padded, any password shorter than 12 characters leaks the raw key bytes directly — anything XORed with zero is itself. Passwords longer than 12 chars require testing at most 256 candidate keys. The bug spans a broad set of models (Edge Gateway 3000/5000, Embedded PC 3000/5000, Precision 3630/3930, Latitude 3190/3310/7220/Rugged 5420/5424/7424, OptiPlex 7070 UFF, Precision 5540) plus the researcher-tested Latitude E7250/7490, XPS 15 9560, and Wyse 5070.
Dell's MEDIUM (5.7) rating with AV:P/AC:H is defensible and, if anything, slightly generous. The attack is AV:P — an attacker needs to pop the chassis, land an SPI flash clip on a Winbond/Macronix chip, and dump firmware. That is an evil-maid / lost-device / supply-chain-interception scenario, not something that scales across a 10,000-host estate over the network. The C:H/I:H component is real (BIOS admin password recovery kills pre-boot auth, Secure Boot policy, and unlocks storage on some configs), but the population of realistic attackers is small.
4 steps from start to impact.
Obtain physical possession of the device
- Physical possession for the duration of the flash dump (5–15 minutes)
- Ability to disassemble chassis without triggering intrusion switch
- Chassis intrusion detection on Precision/OptiPlex triggers a BIOS event on next boot
- Field devices often in tamper-evident enclosures
- Full-disk encryption keyed to TPM+PIN mitigates the practical impact
Clip the SPI flash and dump firmware
- Physical access to motherboard
- SPI programmer + SOIC-8 clip
- flashrom or vendor equivalent
- Some newer platforms have SPI read protection registers set at power-on that require full power-off and specific reset sequences
- BGA-packaged flash on some ultrabooks makes clip attachment impractical
Locate the DVAR region and extract the password record
- Public MDSec write-up (mdsec.co.uk)
- Basic hex-editor / Python scripting
- None once the image is dumped — this is pure offline analysis
Recover plaintext BIOS admin password
- Recovered password
- Re-assembled device
- If the device uses BitLocker with TPM+PIN, PIN is still required regardless of BIOS access
- TPM measurements change if Secure Boot policy is altered — BitLocker will demand recovery key on next boot
The supporting signals.
| In-the-wild exploitation | No public reports of active exploitation as of July 2026. No CISA KEV listing. |
|---|---|
| Proof-of-concept | Detailed technical write-up published by MDSec (Craig S. Blackie) and AmberWolf (Darren McDonald). No packaged public exploit tool observed, but implementation is trivial from the disclosure — expect community dell-bios-decrypt.py scripts within weeks. |
| EPSS | 0.00119 (~0.12%) — bottom-tier likelihood of network-observable exploitation, consistent with AV:P. |
| CISA KEV | Not listed. Physical-access class vulns rarely reach KEV. |
| CVSS vector | CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N — Physical access, High attack complexity, no privileges, no user interaction, high confidentiality/integrity impact, no availability impact. |
| Affected versions | Broad Dell client BIOS across Edge Gateway 3000/5000, Embedded PC 3000/5000, Precision 3630/3930/5540, Latitude 3190/3310/7220/Rugged 5420/5424/7220EX/7424, OptiPlex 7070 UFF. Researcher-confirmed on Latitude E7250, Latitude 7490, XPS 15 9560, Wyse 5070. |
| Fixed versions | See DSA-2026-197 table (e.g. Precision 3630 ≥ 2.40.0, Latitude Rugged 5420 ≥ 1.42.0, OptiPlex 7070 UFF ≥ 1.36.1). Additional platforms scheduled for end-of-July 2026. |
| Exposure telemetry | Not applicable — no network-facing signature. Shodan/GreyNoise/Censys have no bearing on a physical-access flaw. |
| Disclosure date | 2026-06-09 (Dell DSA-2026-197) |
| Researchers | Darren McDonald (AmberWolf) and Craig S. Blackie (MDSec) |
noisgate verdict.
The decisive factor is AV:P — every step in the chain requires uninterrupted physical possession of the device plus an SPI programmer, which caps the realistic attacker population at evil-maid, lost-device, and supply-chain interception scenarios rather than anything that scales across a fleet. Blast radius is bounded to the individual device recovered, not the domain or identity plane.
Why this verdict
- Physical access is a hard cap on scale.
AV:Pmeans an attacker must be in the room, with tools, with the device open, for every single target. There is no worm, no mass-exploitation path, no internet-reachable population — EPSS at 0.00119 reflects this reality. - Friction audit — SPI clip and DVAR parsing. Even after physical access, the attacker needs an SPI programmer, must identify the flash chip package, dump firmware, and parse the DVAR record. That is trivial for a competent hardware-security researcher but non-trivial for opportunistic laptop thieves — the vast majority of stolen Dells never get their BIOS password extracted.
- Role multiplier: workstation / user laptop (typical role). Chain succeeds and yields the BIOS setup password. Blast radius = single device. Attacker can disable Secure Boot, boot attacker USB, and attempt to attack the OS. BitLocker with TPM+PIN neutralizes this outcome — the disk stays sealed. Without pre-boot PIN, storage disclosure is likely.
- Role multiplier: Edge Gateway / Embedded PC / Rugged Latitude in field deployments (typical role for these SKUs). Chain succeeds. Blast radius = the field device itself and potentially the OT/network segment it bridges. These devices are more likely to lack BitLocker and more likely to be physically accessible in remote/unattended locations — this is the population that deserves priority.
- Role multiplier: no high-value identity/hypervisor/PAM role. This is client-platform BIOS, not a server, hypervisor, DC, IdP, backup server, or CI/CD host. There is no fleet-scale pivot, no domain compromise path, no supply-chain multiplier. The high-value-role floor does not apply — this vuln does not live in a role-defining component.
Why not higher?
MEDIUM would require either a scalable attack vector (there isn't one — AV:P is definitional) or a role multiplier into identity/hypervisor/backup (this is client BIOS, not server or infrastructure). Physical-access flaws with AV:P/AC:H in the CVSS vector realistically live in the LOW-to-MEDIUM band, and the friction audit pushes this to the lower half.
Why not lower?
IGNORE is wrong because the confidentiality impact is real for field-deployed Edge Gateway / Rugged Latitude fleets where BitLocker+PIN is often absent, and because public MDSec research plus trivial exploit implementation will produce community tooling. For a security team handling lost/stolen laptop response and OT field devices, this is worth backlog attention, not zero attention.
What to do — in priority order.
- Enforce BitLocker (or LUKS) with TPM+PIN on every affected client — Recovering the BIOS setup password does not unlock the disk if pre-boot authentication requires a user PIN in addition to the TPM seal. This is the single highest-value compensating control. Deploy across affected fleet within the noisgate mitigation window — since verdict is LOW there is no mitigation SLA, but treat as 365-day remediation hygiene.
- Turn on chassis intrusion detection where supported — Precision, OptiPlex, and some Latitude models expose a chassis-intrusion event that surfaces to Dell Command | Monitor / WMI. Alert on it via your EDR or MDM. Won't stop the attack but shortens dwell time and gives you a signal on returned devices.
- Set BIOS admin passwords ≥13 characters — The XOR-key leak collapses trivially for passwords ≤12 chars. At 13+ the attacker still recovers the password but must test 256 candidates — a marginal delay, but combined with rotation post-recovery it raises cost. Not a substitute for patching.
- Prioritize BIOS updates on field-deployed Edge Gateway, Embedded PC, and Rugged Latitude SKUs first — These are the SKUs most likely to be physically accessible to attackers (unattended field sites, industrial floors, vehicles). Push DSA-2026-197 BIOS updates via Dell Command | Update or your existing firmware management pipeline. Verdict LOW means no mitigation SLA; use the noisgate remediation SLA of 365 days as your ceiling but move faster on OT/edge devices.
- Update lost/stolen device runbook — Any Dell device on the affected list reported lost/stolen should trigger BIOS password rotation across shared administrative pools, not just AD account disablement. Update your IR playbook now.
- Network segmentation / firewalls — irrelevant. This is a hardware-local attack; the device does not need to be online.
- EDR / AV — the attack happens with the OS powered off and firmware read via external programmer. No agent runs.
- BIOS admin password rotation alone — historical passwords persist in the DVAR log structure, so rotation does not erase past credentials from flash. Only a BIOS update (which rewrites the storage format) plus rotation clears the record.
- TPM-only BitLocker (no PIN) — Secure Boot policy changes force a recovery-key prompt, but an attacker with BIOS admin can manipulate boot config and, on some configurations, still access storage. TPM+PIN is the real fix.
Crowdsourced verification payload.
Run on the target Dell client as Administrator to check installed BIOS version against the DSA-2026-197 fixed-version table. Invoke as: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-40639.ps1. Requires local admin for WMI access to Win32_BIOS.
#Requires -RunAsAdministrator
# Check-CVE-2026-40639.ps1
# Verifies Dell Client Platform BIOS against DSA-2026-197 fixed versions.
# Exit: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN, 3=NOT_AFFECTED_MODEL
$ErrorActionPreference = 'Stop'
$fixedVersions = @{
'Edge Gateway 3000' = '1.26.0'
'Edge Gateway 5000' = '1.36.0'
'Embedded Box PC 3000' = '1.32.0'
'Embedded Box PC 5000' = '1.33.0'
'Precision 3630 Tower' = '2.40.0'
'Precision 3930 Rack' = '2.43.0'
'Latitude 3190' = '1.44.0'
'Latitude 3190 2-in-1' = '1.44.0'
'Latitude 3310' = '1.33.0'
'Latitude 3310 2-in-1' = '1.32.0'
'Latitude 7220 Rugged Extreme Tablet' = '1.51.0'
'Latitude 5420 Rugged' = '1.42.0'
'Latitude 5424 Rugged' = '1.42.0'
'Latitude 7220EX Rugged Extreme Tablet' = '1.51.0'
'Latitude 7424 Rugged Extreme' = '1.42.0'
'OptiPlex 7070 Ultra' = '1.36.1'
'Precision 5540' = '1.43.0'
}
try {
$cs = Get-CimInstance -ClassName Win32_ComputerSystem
$bios = Get-CimInstance -ClassName Win32_BIOS
} catch {
Write-Output 'UNKNOWN: WMI query failed'
exit 2
}
$model = $cs.Model.Trim()
$vendor = $cs.Manufacturer
$biosV = $bios.SMBIOSBIOSVersion
if ($vendor -notmatch 'Dell') {
Write-Output "NOT_AFFECTED_MODEL: vendor=$vendor"
exit 3
}
$match = $null
foreach ($k in $fixedVersions.Keys) {
if ($model -like "*$k*") { $match = $k; break }
}
if (-not $match) {
Write-Output "UNKNOWN: model '$model' not in DSA-2026-197 table (may still be affected; check Dell advisory)"
exit 2
}
$fixed = $fixedVersions[$match]
try {
$installed = [Version]($biosV -replace '[^0-9\.].*$','')
$required = [Version]$fixed
} catch {
Write-Output "UNKNOWN: cannot parse BIOS version '$biosV'"
exit 2
}
if ($installed -ge $required) {
Write-Output "PATCHED: $model BIOS $installed >= $required"
exit 0
} else {
Write-Output "VULNERABLE: $model BIOS $installed < $required (CVE-2026-40639)"
exit 1
}
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.