CRITICAL🇬🇧 English

CVE-2017-14451

RCE w Ethereum Virtual Machine (libevm) przez out-of-bounds read

CVSS 10.0v3.1pub. 2020-12-02upd. 2024-11-21

Podatność w bibliotece libevm (Ethereum Virtual Machine) wchodzącej w skład CPP-Ethereum umożliwia zdalne wykonanie kodu poprzez specjalnie spreparowany smart contract. Krytyczny charakter podatności wynika z możliwości jej zdalnego wywołania bez uwierzytelnienia oraz pełnego przejęcia kontroli nad podatnym węzłem.

Pokaż oryginał (EN)

An exploitable out-of-bounds read vulnerability exists in libevm (Ethereum Virtual Machine) of CPP-Ethereum. A specially crafted smart contract code can cause an out-of-bounds read which can subsequently trigger an out-of-bounds write resulting in remote code execution. An attacker can create/send malicious smart contract to trigger this vulnerability.

🤖 Analiza AI
Jak działa

Błąd polega na odczycie danych spoza przydzielonego bufora pamięci (out-of-bounds read, CWE-125) podczas przetwarzania kodu smart contractu przez maszynę wirtualną EVM. Specjalnie skonstruowany kod kontraktu powoduje, że silnik EVM odczytuje dane wykraczające poza granice bufora. Taki odczyt może następnie wyzwolić zapis poza granicami bufora (out-of-bounds write), co ostatecznie prowadzi do zdalnego wykonania kodu (RCE). Atakujący może dostarczyć złośliwy kod, tworząc lub wysyłając odpowiednio spreparowany smart contract do podatnego węzła.

Skutki

Atakujący może uzyskać możliwość zdalnego wykonania dowolnego kodu (RCE) na węźle obsługującym CPP-Ethereum, co może skutkować pełnym przejęciem kontroli nad systemem, naruszeniem poufności, integralności i dostępności danych.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://talosintelligence.com/vulnerability_reports/TALOS-2017-0500). Zaleca się również ograniczenie możliwości przesyłania nieautoryzowanych smart contractów do węzłów oraz monitorowanie ruchu sieciowego pod kątem anomalii.

Kogo dotyczy

CPP-Ethereum (implementacja klienta Ethereum w C++) zawierający bibliotekę libevm; konkretne wersje wskazane w referencjach producenta (raport TALOS-2017-0500).

Uwagi

Podatność została odkryta i zgłoszona przez Cisco Talos (identyfikator wewnętrzny TALOS-2017-0500). Mimo daty odkrycia w 2017 roku, CVE zostało opublikowane dopiero 2020-12-02.

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

    APP
    Ethereum
    wszystkie wersje
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEMemory
CWE
Referencje

Powiązane podatności

CVE-2018-15890CRITICAL9.8PL ✓ten sam vendor

Niebezpieczna deserializacja w EthereumJ umożliwia wykonanie poleceń OS

CVE-2026-26314HIGH8.7ten sam vendor

go-ethereum (geth) is a golang execution layer implementation of the Ethereum protocol. Prior to version 1.16....

CVE-2026-22862HIGH7.1ten sam vendor

go-ethereum (geth) is a golang execution layer implementation of the Ethereum protocol. A vulnerable node can ...

CVE-2026-22868HIGH7.1ten sam vendor

go-ethereum (geth) is a golang execution layer implementation of the Ethereum protocol. A vulnerable node can ...

CVE-2023-42319HIGH7.5ten sam vendor

Geth (aka go-ethereum) through 1.13.4, when --http --graphql is used, allows remote attackers to cause a denia...