A security release. One advisory is published with this release. There are no other changes since 1.1.0.
Security
- MinerU Cloud parsing fetched provider-supplied URLs without the address policy. The presigned upload URL and the result ZIP URL returned in MinerU Cloud's JSON responses were fetched with a plain
fetch: no SSRF validation, redirects followed unchecked, and no size limits. When MinerU Cloud is not configured on the server, a caller can supply its own base URL, so its endpoint could point the server'sPUTof the uploaded document and the result download at loopback, private or other internal addresses. Every MinerU Cloud request now goes through the strict provider transport, which validates each redirect hop and connects only to the addresses the guard validated. The upload and ZIP URLs from the response must be HTTPS public addresses under every policy, and the upload does not follow redirects. Address-policy refusals are not retried. JSON responses, the ZIP download and each decompressed entry are size-bounded, with decompression stopped as soon as a limit is crossed. The configured API root keeps the operator'sALLOW_LOCAL_NETWORKSpolicy, so self-hosted setups are unaffected. The shared SSRF guard now also classifies IPv4-compatible IPv6 addresses (::/96) by their embedded IPv4. GHSA-cpjc-vgjh-c5jp — reported by @AbelWangYaBo (#1688)
Upgrade: deployments that let users bring their own MinerU Cloud base URL should upgrade. Deployments that configure MinerU Cloud on the server are not exposed through this path.
Full Changelog: https://github.com/THU-MAIC/OpenMAIC/blob/main/CHANGELOG.md