Anki: User scripts in iframes have access to the internal Anki API
Summary
Anki's webview-based pages communicate with the Rust backend using an internal localhost API. Anki implements measures to prevent user scripts run in the reviewer/editor from accessing this API (https://github.com/ankitects/anki/pull/3925) but it inadvertently allows access to scripts included via iframes in the editor. While overall only a limited set of API methods are exposed, some such as getImageForOcclusion can read arbitrary files.
CWE: CWE-22 (Path Traversal) Reporter: Bankde (Eakasit)
Affected Products
| Ecosystem | Package | Affected Versions |
|---|---|---|
| PyPI | aqt |
<= 25.09.3 |
Impact
Any desktop Anki user (Windows, macOS, Linux) who imports an untrusted .apkg and views card with an embedded iframe is vulnerable. No special configuration is required. The attacker can read any file accessible to the Anki process and exfiltrate its contents over the network.
Patches
A patch is available in 25.09.4
Workarounds
- Do not import
.apkgfiles from untrusted sources. - Inspect
.apkgcontents (it's a ZIP) for.html/.svgfiles with<script>tags before importing. - Block unexpected outbound network requests from the Anki process at the firewall level.
References
- Vulnerability report: Anki arbitrary file read vulnerability (with exfiltration) — Bankde (Eakasit)
- Affected source:
qt/aqt/mediasrv.py::_handle_local_file_request - Related prior CVEs: CVE-2024-29073, CVE-2024-32484, CVE-2025-62185, CVE-2025-62187
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | aqt | < 25.9.4 | 25.9.4 |
References
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N- Weakness (CWE)
CWE-22- Platform
- Python (PyPI)
- Package
aqt- Disclosed
- 19.06.2026
- Updated
- 11.10.2026 13:19
Sources and licenses
OSV / GitHub Advisory Database - GHSA-cw6h-ffmh-x6vh - CC BY 4.0
Vulnerability history: aqt
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 2
- First → latest
- 06.2026 06.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 1
- Medium 1
Disclosures per year
- 2026: 2
-
Anki: User scripts in iframes have access to the internal Anki API this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.