Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
PoCПатч
Опубликована

CVE-2026-65630

Timing side-channel in pure-Erlang X25519 scalar multiplication leaks the private key in jose

Публикация: 26.10.2026·Обновлена: 03.11.2026, 01:17·Europe/Moscow

Что произошло

Автоперевод выключен · оригинальное описание

Observable Timing Discrepancy vulnerability in potatosalad jose allows recovery of a long-term X25519 private key through a timing side channel in the pure-Erlang Curve25519 fallback. The pure-Erlang X25519 implementation performs scalar multiplication over the secret private key using a recursive Montgomery ladder (jose_jwa_x25519:curve25519/2) whose clauses branch on individual bits of the clamped private scalar, and whose per-step operations (jose_jwa_x25519:montgomery_add/3 and jose_jwa_x25519:montgomery_double/1) and field inversion are built from value-dependent Erlang bignum arithmetic (multiplication, remainder, and modular exponentiation). Although the ladder is operation-count balanced and fixed at 254 steps, the concrete integer values processed at each step, and therefore the running time, depend on the secret scalar. The execution time of the public entry points jose_jwa_x25519:scalarmult/2, jose_jwa_x25519:x25519/2, jose_jwa_x25519:x25519_base/1, and jose_jwa_x25519:sk_to_pk/1 is thus a function of the private key. This path is reachable from the public API, most notably when a service decrypts attacker-supplied ECDH-ES (JWE) messages with a long-term X25519 key (for example through JOSE.JWK.box_decrypt_ecdh_es/2, which reaches jose_jwa_curve25519:x25519_shared_secret/2 and the ladder). An attacker who can submit ciphertexts and measure decryption timing can, in principle, recover the private key bit by bit, defeating the resistance X25519 was designed to provide. Recovery of the key compromises the confidentiality and authenticity of all data protected by it. This issue affects jose: from 1.10.0 before 1.11.13.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Редакционные пояснения, сведения источников и общие рекомендации помечены отдельно
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.

Общая рекомендация, не из бюллетеня вендора

3. Временные меры

Use a constant-time native X25519 implementation for private-key operations: install the libsodium or libdecaf NIF, or run on an OTP release whose crypto application provides x25519, and do not force the pure-Erlang Curve25519 fallback (JOSE.crypto_fallback(true) or JOSE.curve25519_module(:jose_jwa_curve25519)) for long-lived keys.

4. Проверьте следы эксплуатации

Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

potatosalad / jose

{
  "status": "affected",
  "version": "1.10.0",
  "lessThan": "1.11.13",
  "versionType": "semver"
}
cpe:2.3:a:potatosalad:jose:*:*:*:*:*:*:*:*

potatosalad / jose

{
  "status": "affected",
  "version": "8e532095de114ef4bf88a9ec5d651fa251a972b3",
  "lessThan": "3670f873c274bba86fb7f5ee5727a7efa1322b79",
  "versionType": "git"
}
cpe:2.3:a:potatosalad:jose:*:*:*:*:*:*:*:*

CVSS: оценки и векторы

CVSS 4.0 · cve5.9
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
AV · Вектор атакилокальный доступ
AC · Сложность атакивысокая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системывысокое
VI · Целостность уязвимой системынет
VA · Доступность уязвимой системынет
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
CVSS 4.0 · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db5.9
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/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
AV · Вектор атакилокальный доступ
AC · Сложность атакивысокая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяне нужно
VC · Конфиденциальность уязвимой системывысокое
VI · Целостность уязвимой системынет
VA · Доступность уязвимой системынет
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
E · Eзначение X; см. спецификацию CVSS
CR · CRзначение X; см. спецификацию CVSS
IR · IRзначение X; см. спецификацию CVSS
AR · ARзначение X; см. спецификацию CVSS
MAV · MAVзначение X; см. спецификацию CVSS
MAC · MACзначение X; см. спецификацию CVSS
MAT · MATзначение X; см. спецификацию CVSS
MPR · MPRзначение X; см. спецификацию CVSS
MUI · MUIзначение X; см. спецификацию CVSS
MVC · MVCзначение X; см. спецификацию CVSS
MVI · MVIзначение X; см. спецификацию CVSS
MVA · MVAзначение X; см. спецификацию CVSS
MSC · MSCзначение X; см. спецификацию CVSS
MSI · MSIзначение X; см. спецификацию CVSS
MSA · MSAзначение X; см. спецификацию CVSS
S · Область воздействиязначение X; см. спецификацию CVSS
AU · AUзначение X; см. спецификацию CVSS
R · Rзначение X; см. спецификацию CVSS
V · Vзначение X; см. спецификацию CVSS
RE · REзначение X; см. спецификацию CVSS
U · Uзначение X; см. спецификацию CVSS

Источники и ссылки

Происхождение полей
{
  "cwes": [
    "cve",
    "nvd"
  ],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-02T21:13:41.497461+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-11-02T21:42:05.766651+00:00"
  },
  "scores": [
    "cve",
    "nvd"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-11-02T21:42:05.766651+00:00"
  },
  "affected": [
    "cve"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-11-02T21:42:05.766651+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-02T21:13:41.497461+00:00"
  },
  "references": [
    "cve",
    "nvd"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-11-02T21:42:05.766651+00:00"
  },
  "workarounds": [
    "cve"
  ],
  "configurations": []
}

Хронология записи

  1. Появилась ссылка на PoC03.11.2026, 00:42
  2. Данные обновлены03.11.2026, 00:13
  3. Данные обновлены02.11.2026, 00:12
  4. Данные обновлены31.10.2026, 11:59
  5. Появились сведения об исправлении28.10.2026, 22:23
  6. Данные обновлены28.10.2026, 18:06
  7. Опубликована28.10.2026, 15:17

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-65631
erlang-jose RSA JWK parsing attempts to factor an attacker-controlled modulus, enabling CPU-exhaustion denial of service
potatosalad / jose
Средний6.9
0,24 %
Патч
26.10.2026
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-65629
Weak PBKDF2 parameters for password-encrypted private-key export in jose
potatosalad / jose
Критический7.4
0,06 %
PoCПатч
26.10.2026
CVE-2026-65628
Infinite recursion (CPU denial-of-service) in JOSE.JWK.shared_secret/2 on mismatched key types
potatosalad / jose
Высокий5.9
0,14 %
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