CVE-2026-22697
WysokieStreszczenie
CryptoLib przed wersją 1.4.3 zawiera podatność na przepełnienie bufora sterty podczas dekodowania pól Base64 w odpowiedziach JSON z usługi KMC. Bufor docelowy jest przydzielany na podstawie oczekiwanej długości, ale dekoder Base64 zapisuje dane według rzeczywistej długości wejściowej, co może prowadzić do zapisu poza pamięcią.
Ocena ryzyka
Atakujący może wysłać złośliwą odpowiedź KMC z nadmiernie długim ciągiem Base64, powodując awarię procesu lub potencjalnie wykonanie dowolnego kodu. Może to zagrozić integralności i dostępności systemów komunikacji kosmicznej opartych na cFS.
Rekomendacja
Zaleca się natychmiastową aktualizację CryptoLib do wersji 1.4.3 lub nowszej, która zawiera poprawkę. Należy również ograniczyć zaufanie do odpowiedzi KMC i monitorować systemy pod kątem anomalii.
Inne podatności w CryptoLib
Zobacz wszystkie- CVE-2026-22026Wysokie
CryptoLib przed wersją 1.4.3 zawiera podatność w funkcji write_callback klienta usługi kryptograficznej KMC, która nie ogranicza rozmiaru bufora odpowiedzi HTTP. Złośliwy serwer KMC może wysłać bardzo dużą odpowiedź, powodując niekontrolowany wzrost pamięci i zatrzymanie procesu przez system operacyjny.
- CVE-2026-22023Wysokie
CryptoLib przed wersją 1.4.3 zawiera podatność polegającą na odczycie poza granicami pamięci sterty w funkcji cryptography_aead_encrypt(). Problem został naprawiony w wersji 1.4.3.
- CVE-2026-21898Wysokie
CryptoLib przed wersją 1.4.3 zawiera podatność polegającą na odczycie pamięci bez prawidłowego sprawdzania granic podczas parsowania hashy ramek AOS. Problem został naprawiony w wersji 1.4.3.
- CVE-2026-21897Wysokie
CryptoLib zapewnia rozwiązanie programowe wykorzystujące protokół CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) do zabezpieczania komunikacji między statkiem kosmicznym a stacją naziemną. Przed wersją 1.4.3 funkcja Crypto_Config_Add_Gvcid_Managed_Parameters sprawdza tylko, czy gvcid_counter > GVCID_MAN_PARAM_SIZE. W rezultacie pozwala na wpis do 251., co powoduje zapis poza koniec tablicy, nadpisując gvcid_counter znajdujący się bezpośrednio po gvcid_managed_parameters_array[250]. Prowadzi to do zapisu poza zakresem, a nadpisany gvcid_counter może stać się dowolną wartością, potencjalnie wpływając na logikę wyszukiwania/rejestracji parametrów. Problem został naprawiony w wersji 1.4.3.
Oryginalny opis (angielski, źródło NVD)
CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) to secure communications between a spacecraft running the core Flight System (cFS) and a ground station. Prior to version 1.4.3, CryptoLib’s KMC crypto service integration is vulnerable to a heap buffer overflow when decoding Base64-encoded ciphertext/cleartext fields returned by the KMC service. The decode destination buffer is sized using an expected output length (len_data_out), but the Base64 decoder writes output based on the actual Base64 input length and does not enforce any destination size limit. An oversized Base64 string in the KMC JSON response can cause out-of-bounds writes on the heap, resulting in process crash and potentially code execution under certain conditions. This issue has been patched in version 1.4.3.

