Średnia

Docling imports plugin entry points before the allow_external_plugins check

  • Ujawniono: 05.10.2026
  • Aktualizacja: 15.10.2026 18:17

Summary

allow_external_plugins=False (the default, and the CLI default) is meant to restrict docling to its own model plugins. However, docling's plugin factories call pluggy's load_setuptools_entrypoints(), which imports every module registered under docling's plugin entry-point group. Only afterwards does docling filter out modules outside the docling. namespace. Import-time code in any installed third-party plugin therefore runs even though external plugins are disabled.

Details

In docling/models/factories/base_factory.py, load_from_plugins() loads all entry points first and applies the allow_external_plugins check only to the already-imported modules. The CLI creates these factories when it starts, so running docling imports every registered plugin module. A log message says the plugin "will not be loaded", although its module has already been imported.

Affected configurations

Environments in which a package registering a docling plugin entry point is installed, for example an unvetted or compromised dependency, and which rely on allow_external_plugins=False to keep that code from running.

Impact

Execution of a third-party plugin module's import-time code in the docling process, contrary to the documented behaviour of allow_external_plugins=False.

Patches

Fixed in docling 2.131.0 by #4413. Plugin entry points are now filtered by module name before they are loaded, so with allow_external_plugins=False third-party plugin modules are no longer imported.

Workarounds

Upgrade to 2.131.0. For older versions:

Only install trusted packages in environments that run docling. Check which packages register docling plugin entry points with importlib.metadata.entry_points().

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Python (PyPI) docling >= 2.27.0, < 2.131.0 2.131.0
Python (PyPI) docling-slim >= 2.92.0, < 2.131.0 2.131.0

Odnośniki

Ocena CVSS 6.7/10
Wektor CVSS
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
Słabość (CWE)
CWE-696, CWE-829
Platforma
Python (PyPI)
Paczka
docling, docling-slim
Ujawniono
05.10.2026
Aktualizacja
15.10.2026 18:17

Źródła i licencje

OSV / GitHub Advisory Database - PYSEC-2026-4192 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-9jxx-vjrv-h2rq - CC BY 4.0

OSV / GitHub Advisory Database - PYSEC-2026-4210 - PyPA Advisory Database; CC BY 4.0

Historia podatności: docling

Wszystkie opisane podatności tej paczki (Python (PyPI)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (18) w archiwum
Wszystkich wpisów
18
Pierwsza → ostatnia
05.2026 10.2026
Bez poprawki
2
Wykorzystywana w atakach
0

Rozkład istotności

  • Wysoka 7
  • Średnia 10
  • Niska 1

Ujawnienia w latach

  1. 2026: 18
Istotność:
  1. Docling imports plugin entry points before the allow_external_plugins check ten wpis
    Średnia · 6.7 CVE-2026-105745 >= 2.27.0, < 2.131.0 2.131.0
  2. Wysoka · 7.1 CVE-2026-47214 < 2.94.0 2.94.0
  3. Wysoka · 7.5 CVE-2026-44020 >= 2.13.0, < 2.74.0 2.74.0
  4. Wysoka · 8.2 CVE-2026-44016 >= 2.82.0, < 2.91.0 2.91.0
  5. Wysoka · 7.5 CVE-2026-44017 < 2.91.0 2.91.0
  6. Wysoka · 7.5 CVE-2026-31248 <= 2.61.0 brak poprawki
  7. Wysoka · 7.5 CVE-2026-31247 <= 2.61.0 brak poprawki

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.