# TPM GPIO Reset Vulnerability

Disclosed by Mate Kukri, June 2024: <https://mkukri.xyz/2024/06/01/tpm-gpio-fail.html>.

## Documentation

See the [Heads Wiki Threat Model](https://github.com/linuxboot/heads-wiki/blob/master/About/Heads-threat-model.md) for the full vulnerability analysis, per-platform status, and mitigation status.

## Testing

The initrd includes two audit tools (when `CONFIG_TPM2_TOOLS=y`):

```bash
tpm-gpio-detect 2>&1 | tee /media/tpm-gpio-detect.log    # audit GPIO lock status
tpm-gpio-assert 2>&1 | tee /media/tpm-gpio-assert.log    # assert PLTRST# (destructive)
```

## Upstream Tracking

- [Coreboot ticket #576](https://ticket.coreboot.org/issues/576) — lock PLTRST# pad at boot
- [Coreboot GPIO lock patch series](https://review.coreboot.org/q/topic:%22intel_gpio_lock%22)
- [kukrimate/tpm-gpio-fail](https://github.com/kukrimate/tpm-gpio-fail) — original PoC
- [tlaurion/tpm-gpio-fail](https://github.com/tlaurion/tpm-gpio-fail) — extended fork (14 PCH families)
