Skip to content

Update docling to v2.94.0 [SECURITY] - #9

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/pypi-docling-vulnerability
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/pypi-docling-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
docling (changelog) 2.66.02.94.0 age confidence

Docling: Unsafe Zip Extraction in EasyOCR Model Download

CVE-2026-44017 / GHSA-cjqg-rq2h-2fvj

More information

Details

Impact

In versions < 2.91.0, The EasyOCR model download functionality extracted ZIP archives without validating member paths, enabling Zip Slip attacks. If an attacker could compromise the model download source (via supply chain attack, DNS spoofing, or MITM), they could write arbitrary files to any location writable by the process, potentially achieving:

  • Remote code execution by overwriting Python files or system binaries
  • Persistent backdoors by modifying startup scripts or SSH keys
  • Data corruption or system compromise
Patches

Fixed in version 2.91.0. The extraction process now validates each archive member path using os.path.realpath() to ensure it remains within the target directory, raising a SecurityError for any path traversal attempts.

Workarounds

Ensure model downloads occur over secure, authenticated channels. Use integrity verification (checksums) for downloaded models. Run the application with minimal file system permissions.

References

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Docling: Unsafe Archive Extraction and XML Parsing in METS-GBS Backend

CVE-2026-44018 / GHSA-r3xg-rg9j-67fv

More information

Details

Impact

The METS-GBS backend's XML parsing and the input document format detection lacked security controls, enabling:

  • XML External Entity (XXE) attacks to read local files or cause denial of service
  • Decompression bombs (zip bombs) to exhaust memory and disk space
  • Unbounded archive extraction consuming system resources

An attacker could craft malicious METS-GBS archives that, when processed, could read sensitive files, exhaust system resources, or cause application crashes.

Patches

Fixed in version 2.91.0. The fix implements:

  • Secure XML parsing with resolve_entities=False, load_dtd=False, and no_network=True
  • Configurable limits: 300 MB total extraction size, 10 MB per file, 1000 member count
  • Cumulative size tracking across all extractions
  • Early termination when limits are exceeded
  • Secure format detection of METS-GBS tar archives with _detect_mets_gbs() method: maximum file size (10 MB per file), maximum member count (1000 members), and exception handling to gracefully fail when limits are exceeded
Workarounds

Avoid processing METS-GBS archives from untrusted sources. If necessary, pre-validate archives in an isolated environment with resource limits.

References

Severity

  • CVSS Score: 5.5 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Docling: Unsafe XML Entity Expansion in USPTO Patent Backend

CVE-2026-44020 / GHSA-m88r-rg27-5xfg

More information

Details

Impact

The USPTO patent XML parser used the standard xml.sax.parseString() without protection against XML External Entity (XXE) attacks. An attacker could craft malicious USPTO patent XML files with external entity references that could:

  • Read arbitrary files from the server filesystem
  • Perform Server-Side Request Forgery (SSRF) attacks
  • Cause denial of service through entity expansion (Billion Laughs attack)

The vulnerability affects three USPTO patent format parsers: ICE (v4.x), Grant v2.5, and Application v1.x.

Patches

Fixed in version 2.74.0. The parser now uses defusedxml.sax.make_parser() with secure configuration that blocks external entity resolution (feature_external_ges=False, feature_external_pes=False) while allowing DTD declarations required by USPTO files. This prevents XXE attacks while maintaining compatibility with the USPTO XML format.

Workarounds

Avoid processing USPTO patent XML files from untrusted sources. Implement resource limits (memory, CPU time) when processing patent documents.

References

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Docling: Unsafe URI and Path Handling in HTML Backend

CVE-2026-47214 / GHSA-q29v-xc37-wh5m

More information

Details

Impact

The HTML backend did not perform sufficient validation during resource handling:

  • Accepted file:// URIs enabling local file system access when enable_local_fetch=True
  • Path resolution allowed traversal outside intended directories via ../ sequences and absolute paths
  • Did not block internal network resources under enable_remote_fetch=True
  • HTTP redirects were not validated, potentially redirecting to unintended schemes
  • No resource limits for remote image downloads and data: URIs
Patches

Fixed in versions 2.91.0 (initial fixes) and 2.94.0 (additional improvements). The fixes implement:

  • Updated local path treatment: absolute files always blocked, relative paths require enable_local_fetch=True (default: False) and containment within configured base_path for path traversal protection
  • file:// scheme stripped & treated as local path (above)
  • IP address validation to prevent SSRF
  • HTTP redirect validation, connection and read timeouts
  • Size limit for both remote images (with streaming download) and base64-decoded data URIs
Workarounds

Keep both enable_local_fetch=False and enable_remote_fetch=False (defaults) when processing untrusted HTML documents.

References

Severity

  • CVSS Score: 7.1 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

docling-project/docling (docling)

v2.94.0

Compare Source

Feature
  • latex: Add optional Tectonic TikZ rendering (#​3369) (eceedc2)
  • Add image_placeholder and use_markdown_images as fields in the BaseChunkerOptions (#​3436) (5fadc6d)
  • extraction: Add Granite Vision 4.1 as alternative KVP extraction model (#​3398) (b5f2e53)
  • Add 2 stage model dowload from hf and call it for threaded layout model. (#​3267) (336f942)
Fix
  • kserve: Provide channel args to allow gRPC to use round_robin scheduling (#​3427) (81afde8)
  • cli: Do not convert multiple files on case-insensitive filesystems (#​3468) (52d4887)
  • Fail on empty markdown export (#​3429) (ab6aa05)
  • Fix OSTL ucel merged incorrectly (#​3453) (038b991)
  • service: Improve transport-level connection error handing in client SDK (#​3439) (bcd5509)
  • Handle valid JATS contributor name variants (#​3432) (694cf0c)
  • docx: Preserve custom numbering text prefix in list markers (#​3425) (0c31706)
  • Update service client URL parsing with v1 suffix (#​3415) (64ddeb6)
  • client: Make submit_and_retrieve_many accept lazy iterable and yield (#​3405) (aba7f15)
  • html: Add redirect validation to image fetching (#​3407) (eb6e1e6)
  • html: Improve local file path handling (#​3400) (2bb0fa6)
  • markdown: Flush pending list/heading creation on CodeSpan to prevent RecursionError (#​3361) (6b3322e)
Documentation

v2.93.0

Compare Source

Feature
  • vlm: Upgrade Granite Vision model to 4.1 for table + chart extraction (#​3382) (24f2d14)
Fix
  • docx: Fix OMML equation handling and improve type safety (#​3381) (e00735d)

v2.92.0

Compare Source

Feature
Fix
  • pptx: Skip malformed picture shapes instead of aborting conversion (#​3372) (7294248)
  • docx: OMML conversion failures for unsupported limit functions (#​3359) (3df80e7)
  • Make VLLM model_impl configurable (#​3358) (a6a37ca)

v2.91.0

Compare Source

Feature
Fix

v2.90.0

Compare Source

Feature
  • Implement GraniteVisionTableStructureModel for VLM-based table extraction (#​3323) (1569e42)
Fix
Documentation

v2.89.0

Compare Source

Feature
Fix
  • ocr: Align RapidOCR english assets with 3.8 mobile models (#​3291) (251c8b2)
  • docx: Isolate list state in table cells (#​3294) (740c386)
  • pipeline: Prevent cache miss due to pipeline options mutation during chart extraction (#​3300) (5b84911)
Documentation
  • Add indexed picture placeholder example to serialization notebook (#​3293) (cd2e5b6)
Performance
  • markdown: Avoid eager string formatting in Markdown backend debug logs (#​3301) (a64c378)

v2.88.0

Compare Source

Feature
Fix
Documentation
  • Add agent skill bundle for coding assistants (SKILL.md, pipelines, convert/evaluate) (#​3174) (c23622f)

v2.87.0

Compare Source

Feature
Fix
Documentation

v2.86.0

Compare Source

Feature
Fix
  • latex: Discard arguments of filtered spacing commands (#​3245) (6180925)
Documentation

v2.85.0

Compare Source

Feature
Fix

v2.84.0

Compare Source

Feature

v2.83.0

Compare Source

Feature
Fix
Documentation

v2.82.0

Compare Source

Feature
  • Implementation of HTML backend with headless browser (#​2969) (1c74a9b)
Fix
  • omml: Correct LaTeX output for fractions, math operators, and functions (#​3122) (e36125b)
  • Manage PDFium backend resource lifecycles to avoid SIGSEGV/SIGTRAP crashes (#​3180) (a0fc3c9)
  • docx: Split multiple OMML equations into separate formula items (#​3123) (90d6dd4)
  • Let user params override engine defaults in API VLM engine (#​3116) (fdf5e20)
  • vlm: Handle content_filter finish reason in API responses (#​3051) (f0e3d1d)
  • cli: Avoid generating images for non-image exports (#​3127) (5473e07)
  • Honor picture description batching and scale options (#​3132) (9abf0fd)
Documentation
  • Fix Erroneous vLLM VLM pipeline engine option params causing empty/bad responses (#​3167) (fffd445)

v2.81.0

Compare Source

Feature
  • Route plain-text and Quarto/R Markdown files to the Markdown backend (#​3161) (96d7c7e)
Fix

v2.80.0

Compare Source

Feature

v2.79.0

Compare Source

Feature
  • Add fact metadata and linkbase relationships for XBRL (#​3084) (7952efe)
Fix

v2.78.0

Compare Source

Feature
Fix
Documentation

v2.77.0

Compare Source

Feature
  • Track vlm_inference time for mlx_model pipeline (#​3060) (38c4bb2)
  • Add configurable graph_optimization_level for ONNX Runtime engines (#​3071) (cfc6636)
Fix
  • docx: Preserve URL fragments and query params in hyperlinks (#​3050) (cd9dd10)
  • Detect Office Open XML formats from ZIP contents when filename has no extension (#​3073) (56f06fe)
  • readingorder: Assign FURNITURE content_layer to footer/header in container groups (#​3044) (f7cb304)
  • docx: Handle list items immediately after numbered headings (#​3070) (56eb127)
  • rapidocr: ORT thread configuration for RapidOCR backend (#​3062) (68336c2)
Documentation

v2.76.0

Compare Source

Feature
Fix
Documentation

v2.75.0

Compare Source

Feature
  • Create a backend parser for XBRL instance reports (#​3017) (334ba6e)
  • Unified model-family inference engines (including image-classification) and KServe v2 API support (#​2979) (0353293)
Fix

v2.74.0

Compare Source

Feature
  • Introduce docling-parse v5 and deprecate old docling-parse backends (#​2872) (bf417e6)
Fix

v2.73.1

Compare Source

Fix

v2.73.0

Compare Source

Feature
  • Inference engines abstraction for object detection model family with HF Transformers and ONNX runtime (#​2959) (14e474c)
  • Added support for parsing LaTeX (.tex) documents (#​2890) (e6ccb8b)
  • Introduce pluggable VLM runtime system with preset-based configuration (#​2919) (d4c8713)
Fix
  • Restore expected behavior for artifacts_path and accelerator_options in VLM engines (#​2961) (9721321)
  • Allow offline chart extraction model artifacts (#​2957) (ae4fdbb)
Documentation

v2.72.0

Compare Source

Feature
Fix
  • backend: Improve Excel table bounds detection and flatten merged cells (#​2778) (3110c43)
  • pptx: Handle picture shapes with external image references (#​2914) (5e452a2)
Documentation

v2.71.0

Compare Source

Feature
Fix

Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone America/Toronto)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovatebot label Sep 8, 2026
@renovate
renovate Bot requested review from a team, gabemontero, maysunfaisal and thepetk as code owners September 8, 2026 14:52
@renovate renovate Bot added the renovatebot label Sep 8, 2026
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate
renovate Bot force-pushed the renovate/pypi-docling-vulnerability branch from 4e4006c to 35a4116 Compare September 19, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants