CVE-2026-40336
NiskieCVSS 2.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
libgphoto2 w wersjach do 2.5.33 włącznie ma wyciek pamięci w funkcji ptp_unpack_Sony_DPD() w pliku camlibs/ptp2/ptp-pack.c. Podczas przetwarzania dodatkowej listy enumeracji (wprowadzonej w kamerach Sony z 2024+) funkcja nadpisuje dpd->FORM.Enum.SupportedValue nowym wywołaniem calloc() bez zwolnienia poprzedniej alokacji, co powoduje wyciek tablicy i zawartych w niej łańcuchów przy każdym parsowaniu deskryptora właściwości.
Ocena ryzyka
Powtarzające się wycieki pamięci podczas pracy z kamerami Sony mogą prowadzić do wzrostu zużycia pamięci, a w konsekwencji do niestabilności lub awarii aplikacji korzystających z libgphoto2. Problem dotyczy tylko środowisk obsługujących nowsze kamery Sony.
Rekomendacja
Zaktualizuj libgphoto2 do wersji zawierającej commit 404ff02c75f3cb280196fc260a63c4d26cf1a8f6. Do czasu aktualizacji ogranicz lub monitoruj operacje na kamerach Sony powodujące wielokrotne parsowanie deskryptorów.
Inne podatności w libgphoto2
Zobacz wszystkie- CVE-2026-120452Średnie
Biblioteka libgphoto2 do wersji 2.5.34 zawiera podatność polegającą na odczycie i zapisie poza granicami sterty w funkcji jl2005bcd_decompress(). Złośliwe kamery USB mogą dostarczyć małe wartości tablicy alokacji i nagłówek miniatury, powodując przekroczenie bufora o około 30 KB i wyciek zawartości sterty w obrazach podglądu.
- CVE-2026-120451Średnie
libgphoto2 do wersji 2.5.34 zawiera przepełnienie bufora na stosie i stercie w funkcji jl2005c_init(). Złośliwe urządzenia USB mogą podać nieograniczoną liczbę wpisów tablicy alokacji, nadpisać adres powrotu i dane sterty, co potencjalnie umożliwia wykonanie kodu.
- CVE-2026-40341Niskie
W libgphoto2 do wersji 2.5.33 włącznie występuje odczyt poza granicami bufora w ptp_unpack_EOS_FocusInfoEx, który może spowodować awarię biblioteki podczas przetwarzania danych z niezaufanych urządzeń USB. Poprawka znajduje się w commicie c385b34af260595dfbb5f9329526be5158985987.
- CVE-2026-40340Średnie
libgphoto2 w wersjach do 2.5.33 włącznie ma podatność out-of-bounds read w funkcji ptp_unpack_OI() w camlibs/ptp2/ptp-pack.c (linie 530–563). Funkcja waliduje len < PTP_oi_SequenceNumber (czyli len < 48), ale następnie odczytuje offsety 48–56, do 9 bajtów poza zwalidowaną granicą, poprzez heurystykę wykrywania rozmiaru obiektu Samsung Galaxy 64-bit. Poprawka jest w commicie 7c7f515bc88c3d0c4098ac965d313518e0ccbe33.
- CVE-2026-40339Średnie
libgphoto2 w wersjach do 2.5.33 włącznie zawiera błąd odczytu poza granicami bufora w funkcji ptp_unpack_Sony_DPD() w pliku camlibs/ptp2/ptp-pack.c. Funkcja odczytuje bajt FormFlag bez uprzedniego sprawdzenia granic, w przeciwieństwie do standardowej funkcji ptp_unpack_DPD(), która taką walidację wykonuje.
- CVE-2026-40338Średnie
libgphoto2 w wersjach do 2.5.33 włącznie ma błąd odczytu poza granicami w przypadku PTP_DPFF_Enumeration funkcji ptp_unpack_Sony_DPD() w camlibs/ptp2/ptp-pack.c (linia 856). Funkcja odczytuje 2-bajtowy licznik N przez dtoh16o(data, *poffset) bez sprawdzenia, czy w buforze pozostały 2 bajty. Standardowa funkcja ptp_unpack_DPD() w linii 704 ma tę kontrolę, co potwierdza, że w wariancie Sony została pominięta przez przeoczenie. Poprawka jest w commicie 3b9f9696be76ae51dca983d9dd8ce586a2561845.
- CVE-2026-40335Średnie
libgphoto2 w wersjach do 2.5.33 włącznie zawiera błąd odczytu poza granicami bufora w funkcji ptp_unpack_DPV() w pliku camlibs/ptp2/ptp-pack.c. Przypadki UINT128 i INT128 zwiększają offset o 16 bajtów bez sprawdzenia, czy w buforze pozostało wystarczająco dużo danych.
- CVE-2026-40334Niskie
W libgphoto2 do wersji 2.5.33 włącznie funkcja ptp_unpack_Canon_FE() w camlibs/ptp2/ptp-pack.c (linia 1377) kopiuje nazwę pliku do 13-bajtowego bufora przez strncpy bez jawnego zakończenia znakiem NUL. Gdy dane źródłowe mają dokładnie 13 bajtów bez terminatora, bufor pozostaje niezakończony, co prowadzi do odczytów poza granicami w kolejnych operacjach na łańcuchach. Poprawka znajduje się w commicie 259fc7d3bfe534ce4b114c464f55b448670ab873.
- CVE-2026-40333Średnie
libgphoto2 w wersjach do 2.5.33 włącznie ma dwie funkcje w camlibs/ptp2/ptp-pack.c, które przyjmują wskaźnik danych bez parametru długości, wykonując nieograniczone odczyty. Ich wywołujący w ptp_unpack_EOS_events() mają dostępny xsize, ale go nie przekazują, co uniemożliwia walidację odczytów względem granicy bufora. Poprawka jest w commicie 1817ecead20c2aafa7549dac9619fe38f47b2f53.
Oryginalny opis (angielski, źródło NVD)
libgphoto2 is a camera access and control library. Versions up to and including 2.5.33 have a memory leak in `ptp_unpack_Sony_DPD()` in `camlibs/ptp2/ptp-pack.c` (lines 884–885). When processing a secondary enumeration list (introduced in 2024+ Sony cameras), the function overwrites dpd->FORM.Enum.SupportedValue with a new calloc() without freeing the previous allocation from line 857. The original array and any string values it contains are leaked on every property descriptor parse. Commit 404ff02c75f3cb280196fc260a63c4d26cf1a8f6 fixes the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

