CVE-2026-67422
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 45 - wyżej niż 45% wszystkich znanych CVE
Streszczenie
pymdown-extensions do wersji 11.0 zawiera podatność na katastrofalne cofanie się wyrażeń regularnych w czterech procesorach inline (caret, tilde, betterem, magiclink). Pojedyncza, niezaufana linia Markdown o długości poniżej 50 bajtów może spowodować nieograniczone użycie CPU, co umożliwia zdalnemu atakującemu wywołanie odmowy usługi. Problem został naprawiony w wersji 11.0.1.
Ocena ryzyka
Aplikacje webowe renderujące Markdown od użytkowników (komentarze, wiki, treści zgłoszeń, podgląd na żywo) są narażone na ataki DoS, co może prowadzić do niedostępności usługi.
Rekomendacja
Zaktualizuj pymdown-extensions do wersji 11.0.1 lub nowszej. Jeśli nie jest to możliwe, ogranicz długość i złożoność wejściowego Markdown.
Inne podatności w pymdown-extensions
Zobacz wszystkie- CVE-2026-61632Średnie
PyMdown Extensions to zestaw rozszerzeń dla projektu Python-Markdown. W wersjach do 10.21.3 włącznie rozszerzenie b64 jest podatne na path traversal, które ujawnia dowolne pliki: wbudowuje obrazy wskazane przez <img src="...">, łącząc src z skonfigurowanym base_path za pomocą os.path.normpath i otwierając wynik bezpośrednio, bez weryfikacji, czy rozwiązana ścieżka pozostaje w base_path. W rezultacie src zawierające sekwencje ../ lub ścieżkę bezwzględną odczytuje plik poza base_path, o ile ma dozwolone rozszerzenie obrazu (.png, .jpg, .jpeg, .gif, .svg), a zawartość pliku jest następnie kodowana base64 i umieszczana w wyrenderowanym wyniku. Problem naprawiono w wersji 11.0.
- CVE-2026-46338Średnie
Podatność w PyMdown Extensions (wersje 10.0.1 do 10.21.3) pozwala na ominięcie ograniczenia ścieżki bazowej w funkcji SnippetPreprocessor.get_snippet_path(). Mechanizm sprawdzania prefiksu ciągu znaków umożliwia odczyt plików z katalogów sąsiednich, które współdzielą ten sam prefiks ścieżki bazowej, co stanowi regresję poprawki CVE-2023-32309.
Oryginalny opis (angielski, źródło NVD)
pymdown-extensions is a collection of extensions for the Python Markdown library. In versions up to and including 11.0, four inline processors (caret, tilde, betterem, and magiclink) use regular expressions whose content groups can partition a run of delimiter characters in exponentially many ways, causing catastrophic backtracking. As a result, a single untrusted Markdown line under 50 bytes rendered with markdown.markdown() in each extension's default configuration drives the rendering thread into unbounded CPU usage that grows exponentially with input length, enabling an unauthenticated remote attacker who can submit Markdown to cause denial of service. The exposure is concrete for web applications that render user-supplied Markdown (comments, wikis, issue bodies, live preview), including any app using pymdownx.extra which bundles the vulnerable betterem default, as well as hosted docs/CI systems that build untrusted Markdown. The issue has been fixed in version 11.0.1.

