# NGINX session ticket bug can skip client certificate checks in mTLS setups

Source: https://startwithidentity.com/blog/2026-10-14-nginx-session-ticket-bug-can-skip-client-certificate-checks/
Last updated: 2026-10-14
License: content by Start with Identity. Cite the source URL.

---

F5 shipped NGINX fixes on October 14 for five flaws, including CVE-2026-97629 (advisory K000162606), a TLS session ticket bug that can let a forged session get past client-certificate verification. NGINX 1.23.2 through 1.31.6 are affected when `ssl_session_cache shared:...` is configured without `ssl_session_ticket_key`, which turns on automatic ticket-key rotation. Each worker keeps three key slots but rotation fills only two, so the third holds uninitialized memory that can decrypt a forged ticket. F5 scores it 8.3 on CVSS 4.0 and says forgery works "in a non-deterministic manner that is beyond the attacker's control"; NGINX rates it medium. Fixed releases are 1.30.6 (stable) and 1.31.7 (mainline); the 1.28 branch stays in the affected range. No exploitation is reported, according to The Hacker News.

## Why it matters

Session resumption skips the handshake, and the handshake is where [mTLS](https://startwithidentity.com/glossary/mtls/) checks the client certificate. A resumed session is trusted to carry the identity verified the first time, so if a session can be forged, the certificate check never runs. NGINX often sits in front of internal APIs and service meshes as the only thing enforcing workload identity.

Upgrade to 1.30.6 or 1.31.7. If you cannot, either remove the shared cache directive or load ticket keys from a file with `ssl_session_ticket_key`. Servers with session tickets off are not affected. Where NGINX terminates mTLS, also pass the verified client certificate fields to the backend and have the backend authorize on them, so one proxy setting is not the whole [workload identity](https://startwithidentity.com/glossary/workload-identity/) control.

Source: [F5](https://my.f5.com/manage/s/article/K000162606)
