W bibliotece Open Babel 3.1.1 oraz wersji deweloperskiej (commit 530dbfa3) wykryto wiele podatności typu out-of-bounds write w mechanizmie obsługi formatu ORCA. Umożliwiają one zdalne wykonanie kodu (RCE) poprzez podanie złośliwie spreparowanego pliku.
▸ Pokaż oryginał (EN)
Multiple out-of-bounds write vulnerabilities exist in the ORCA format nAtoms functionality of Open Babel 3.1.1 and master commit 530dbfa3. A specially-crafted malformed file can lead to arbitrary code execution. An attacker can provide a malicious file to trigger this vulnerability.nAtoms calculation wrap-around, leading to a small buffer allocation
Podatność wynika z błędnego obliczania wartości nAtoms (liczby atomów) w parserze formatu ORCA — przepełnienie arytmetyczne (wrap-around) prowadzi do alokacji zbyt małego bufora. Następnie dane zapisywane są poza granicami tego bufora (out-of-bounds write, CWE-122/CWE-787). Atakujący dostarcza specjalnie spreparowany, zniekształcony plik wejściowy, który wywołuje ten błąd i może doprowadzić do wykonania dowolnego kodu.
Atakujący może uzyskać pełną kontrolę nad procesem przetwarzającym plik, co umożliwia wykonanie dowolnego kodu z uprawnieniami aplikacji. W najgorszym przypadku może to skutkować kompromitacją całego systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (raport Talos Intelligence TALOS-2022-1665). Zaleca się aktualizację do wersji niezawierającej opisanej podatności oraz unikanie przetwarzania plików w formacie ORCA pochodzących z niezaufanych źródeł.
Open Babel 3.1.1 oraz wersja deweloperska (master commit 530dbfa3)
Podatność została zgłoszona i opisana przez Cisco Talos Intelligence (raport TALOS-2022-1665).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpenbabel Open Babel
APPOpenbabel3.1.1
Powiązane podatności
Open Babel: niezainicjowany wskaźnik w formacie MSI umożliwia RCE
RCE w Open Babel — niezainicjowany wskaźnik w parserze formatu GRO
Out-of-bounds write w Open Babel — RCE przez plik PQS
Out-of-bounds write w Open Babel — RCE przez złośliwy plik CSR
RCE poprzez niezainicjowany wskaźnik w Open Babel (format PQS)