Весёлые дыры:
2015: кто-то прочитал спеку и внезапно заметил что токены, в которых стоит
"alg": "none"
валидны всегда, а ограничений в либах никто не предусмотрел, и народ просто проверял JWT на валидность.
https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/2017 (начало года): Атака на извлечение приватного ключа с сервера, по протоколу.
https://blogs.adobe.com/security/2017/03/critical-vulnerability-uncovered-in-json-encryption.html2017 (конец года): кто-то прочитал спеку ещё раз и заметил, что «самоподписанные» токены, которые включают в себя свой ключ, валидны всегда. А народ всё ещё тупо проверяет JWT на валидность. Это затронуло, например,
node-jose
. Исправили со сломом совместимости.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-0114