CRITICAL🇬🇧 English

CVE-2012-1577

OpenBSD/dietlibc: generator liczb losowych zwraca 0 przy seedzie 0

CVSS 9.8v3.1pub. 2019-12-10upd. 2024-11-21

Funkcja random() w bibliotece libc (OpenBSD, dietlibc, Debian Linux) zawsze zwraca wartość 0, gdy zostanie zainicjowana (seeded) wartością 0. Powoduje to przewidywalność generowanych liczb pseudolosowych, co jest krytycznym błędem w kontekście bezpieczeństwa kryptograficznego.

Pokaż oryginał (EN)

lib/libc/stdlib/random.c in OpenBSD returns 0 when seeded with 0.

🤖 Analiza AI
Jak działa

Podatność wynika z błędnej implementacji generatora liczb pseudolosowych (CWE-335: nieprawidłowe użycie ziarna/seeda) w pliku lib/libc/stdlib/random.c. Gdy aplikacja inicjuje generator wartością 0 (np. w wyniku braku lub niepowodzenia inicjalizacji), funkcja random() deterministycznie zwraca 0 zamiast generować nieprzewidywalny ciąg wartości. Atakujący, który może przewidzieć lub wymusić użycie takiego ziarna, uzyskuje pełną kontrolę nad 'losowymi' wartościami generowanymi przez aplikację.

Skutki

Atakujący może przewidywać wartości uznawane za losowe (np. tokeny sesji, klucze kryptograficzne, identyfikatory), co prowadzi do naruszenia poufności, integralności i dostępności systemów korzystających z tej biblioteki.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dla OpenBSD dostępna jest poprawka opisana w rewizji rev1.16 repozytorium CVS (src/lib/libc/stdlib/random.c). Dla dietlibc należy zapoznać się z plikiem CHANGES w repozytorium GitHub. Dla Debian Linux należy sprawdzić security-tracker.debian.org.

Kogo dotyczy

OpenBSD (plik src/lib/libc/stdlib/random.c), Dietlibc Project dietlibc, Debian Linux — wersje wskazane w referencjach producenta

Uwagi

Podatność zgłoszona i opisana publicznie na liście oss-security w dniu 23 marca 2012 roku. Pomimo daty publikacji CVE (2019-12-10), problem był znany i dyskutowany znacznie wcześniej.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Debian

    OS
    Debian
    10.08.09.0
  • Dietlibc Project Dietlibc

    APP
    Dietlibc Project
    wszystkie wersje
  • Openbsd

    OS
    Openbsd
    wszystkie wersje
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki