CVE-2026-65628
Infinite recursion (CPU denial-of-service) in JOSE.JWK.shared_secret/2 on mismatched key types
Что произошло
jose_jwk:shared_secret/2 (exposed in Elixir as JOSE.JWK.shared_secret/2) derives an ECDH shared secret from two JWKs. Its first function clause only matches when both JWKs carry the same key type (kty) module, and its fallback clause re-invokes itself as shared_secret(from(YourJWK), from(MyJWK)). Because from/1 returns an already-parsed jose_jwk record unchanged, passing two JWKs whose key types differ (for example an EC key and an RSA key) makes the fallback clause re-enter with identical arguments, producing an unbounded tail-recursive loop that never returns and never crashes. An application that derives a shared secret from an externally supplied peer public key without first checking that the peer key's type and curve match its own key can be driven into this loop by an attacker-controlled JWK, pinning an Erlang scheduler at 100% CPU. Repeated requests exhaust the available schedulers, resulting in a denial of service. This issue affects jose: from 1.5.0 before 1.11.13.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
Before calling JOSE.JWK.shared_secret/2, verify that the externally supplied peer key's type (kty) and curve match your own key, and reject any key whose type does not match before attempting derivation.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
potatosalad / jose
{
"status": "affected",
"version": "1.5.0",
"lessThan": "1.11.13",
"versionType": "semver"
}cpe:2.3:a:potatosalad:jose:*:*:*:*:*:*:*:*
potatosalad / jose
{
"status": "affected",
"version": "7b80b9f55b9898e1a6901ce136061b241b021d7c",
"lessThan": "26182a7de63b91550035d3f08741f7d17f1f675a",
"versionType": "git"
}cpe:2.3:a:potatosalad:jose:*:*:*:*:*:*:*:*
CVSS: оценки и векторы
CVSS 4.0 · cve5.9
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 4.0 · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db5.9
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Классы CWE
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-02T21:13:41.497245+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-11-02T21:42:05.749714+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-11-02T21:42:05.749714+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-11-02T21:42:05.749714+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-02T21:13:41.497245+00:00"
},
"references": [
"cve",
"nvd"
],
"description": {
"source": "cve",
"received_at": "2026-11-02T21:42:05.749714+00:00"
},
"workarounds": [
"cve"
],
"configurations": []
}Хронология записи
- Появилась ссылка на PoC03.11.2026, 00:42
- Данные обновлены03.11.2026, 00:13
- Данные обновлены02.11.2026, 00:12
- Данные обновлены31.10.2026, 11:59
- Появились сведения об исправлении28.10.2026, 22:23
- Данные обновлены28.10.2026, 18:06
- Опубликована28.10.2026, 15:17
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-65632 ECDSA signature length is not validated in jose, allowing signature malleability potatosalad / jose | Высокий | 5.1 | 0,09 % | PoCПатч | 26.10.2026 | |
| CVE-2026-65630 Timing side-channel in pure-Erlang X25519 scalar multiplication leaks the private key in jose potatosalad / jose | Высокий | 5.9 | 0,14 % | PoCПатч | 26.10.2026 | |
| CVE-2026-65629 Weak PBKDF2 parameters for password-encrypted private-key export in jose potatosalad / jose | Критический | 7.4 | 0,06 % | PoCПатч | 26.10.2026 | |
| CVE-2026-65627 Decompression bomb via unbounded zlib:inflate in jose_jwe_zip:uncompress/2 potatosalad / jose | Высокий | 6.9 | 0,25 % | PoCПатч | 26.10.2026 | |
| CVE-2026-65626 Bleichenbacher padding oracle in RSAES-PKCS1-v1_5 decryption in jose potatosalad / jose | Средний | 5.9 | 0,09 % | Патч | 26.10.2026 |