Podatność heap-based buffer overflow w bibliotece PoDoFo 0.9.5 umożliwia zdalnym atakującym wywołanie awarii aplikacji lub potencjalnie inne skutki poprzez spreparowany plik PDF. Ze względu na ocenę CVSS 9.8 stanowi krytyczne zagrożenie dla systemów przetwarzających dokumenty PDF z niezaufanych źródeł.
▸ Pokaż oryginał (EN)
Heap-based buffer overflow in the PdfParser::ReadObjects function in base/PdfParser.cpp in PoDoFo 0.9.5 allows remote attackers to cause a denial of service (application crash) or possibly have unspecified other impact via vectors related to m_offsets.size.
Błąd występuje w funkcji PdfParser::ReadObjects w pliku base/PdfParser.cpp i jest związany z nieprawidłową obsługą pola m_offsets.size. Atakujący może dostarczyć specjalnie spreparowany plik PDF, którego przetwarzanie powoduje przepełnienie bufora na stercie (heap). Przepełnienie wynika z braku odpowiedniej walidacji rozmiaru danych przed ich zapisem do bufora w pamięci.
Atakujący może doprowadzić do awarii aplikacji (denial of service) lub potencjalnie osiągnąć bliżej nieokreślone inne skutki — w tym, biorąc pod uwagę charakter podatności CWE-119, możliwe jest wykonanie dowolnego kodu w kontekście procesu przetwarzającego plik PDF.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się unikanie przetwarzania plików PDF pochodzących z niezaufanych źródeł do czasu wdrożenia poprawki oraz rozważenie stosowania sandboxingu dla aplikacji korzystających z biblioteki PoDoFo.
PoDoFo w wersji 0.9.5 (projekt Podofo Project)
Publicznie dostępny proof-of-concept (PoC) został opublikowany w repozytorium GitHub użytkownika xiangxiaobo, co zwiększa ryzyko wykorzystania podatności.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPodofo Project Podofo
APPPodofo Project0.9.5
Powiązane podatności
PoDoFo 0.9.6 — heap-based buffer overflow w konwersji UTF-16 do UTF-8
Heap-based buffer overflow w PoDoFo — funkcja PdfParser::ReadXRefSubsection
A heap-use-after free in the PdfTokenizer::ReadDictionary function of podofo v0.10.0 to v0.10.5 allows attacke...
Podofo v0.10.0 was discovered to contain a heap buffer overflow via the component PoDoFo::PdfEncryptAESV3::Pdf...
Podofo v0.10.0 was discovered to contain a heap-use-after-free via the component PoDoFo::PdfEncrypt::IsMetadat...