CVE-2026-105745: Python Pluggy Entrypoints Imported Before Namespace Allowlist

pluggy's eager loader load_setuptools_entrypoints() imports every module registered in the entry-point group, executing arbitrary import-time code, and only afterwards is the trusted-namespace allowlist (a startswith() prefix check on the already-imported plugin modules, e.g. plugin_module.__name__.startswith("docling.")) applied. This check-after-use orderi

Provally CuratedPublic repositoryMediumHigh confidenceVerifiedApache-2.0Python
greprules fetch cve-2026-105745-python-pluggy-entrypoints-imported-before-namespace-allowlist --engine opengrep

Description

pluggy's eager loader load_setuptools_entrypoints() imports every module registered in the entry-point group, executing arbitrary import-time code, and only afterwards is the trusted-namespace allowlist (a startswith() prefix check on the already-imported plugin modules, e.g. plugin_module.__name__.startswith("docling.")) applied. This check-after-use orderi