CVE-2026-58266
Anki: User scripts in iframes have access to the internal Anki API
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
Anki: User scripts in iframes have access to the internal Anki API
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
- Record
CVE-2026-58266- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-346
- Updated
- 2026-11-02
EUVDEUVD-2026-42113
6.5
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
- Record
EUVD-2026-42113- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-cw6h-ffmh-x6vh
6.5
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
- Record
GHSA-cw6h-ffmh-x6vh- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
6.5
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
- Record
CVE-2026-58266- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-346
- Updated
- 2026-11-02
OSV
6.5
Anki: User scripts in iframes have access to the internal Anki API
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
- Record
CVE-2026-58266- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-346
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-58266
6.5
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
- Record
DEBIAN-CVE-2026-58266- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-cw6h-ffmh-x6vh
6.5
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
- Record
GHSA-cw6h-ffmh-x6vh- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-58266
6.5
Anki is a program for creating and reviewing flashcards. Prior to 25.09.4, Anki's webview-based pages communicate with the Rust backend using an internal localhost API, and user scripts included via iframes in the editor can access this API despite protections intended to block reviewer and editor scripts. A malicious imported card package with an embedded iframe can use exposed API methods such as getImageForOcclusion to read arbitrary files accessible to the Anki process and exfiltrate them over the network. This issue is fixed in version 25.09.4.
- Record
UBUNTU-CVE-2026-58266- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
aqtPyPI |
through 25.9.3 | 25.9.4 |
aqtPyPI |
before 25.9.4, plus listed versions 2.1.242.1.252.1.262.1.282.1.29 Show 45 moreShow less2.1.302.1.312.1.322.1.332.1.342.1.352.1.362.1.372.1.37rc12.1.382.1.38b12.1.38b22.1.38b32.1.38b42.1.392.1.39b12.1.39b22.1.402.1.412.1.41b12.1.41b22.1.41b32.1.41b42.1.41b52.1.41b62.1.41b72.1.422.1.432.1.43b12.1.442.1.44b12.1.452.1.45a12.1.45a22.1.45a32.1.45a42.1.45b12.1.45b22.1.45b32.1.45b42.1.45b52.1.45b62.1.45rc12.1.45rc22.1.46 |
25.9.4 |
ankiUbuntu:16.04:LTS |
All versions, plus listed versions 2.0.32+dfsg-1 |
None known |
ankiUbuntu:18.04:LTS |
All versions, plus listed versions 2.1.0+dfsg~a12-0.12.1.0+dfsg~b24-12.1.0+dfsg~b25-12.1.0+dfsg~b26-12.1.0+dfsg~b27-1 Show 6 moreShow less2.1.0+dfsg~b29-12.1.0+dfsg~b31-12.1.0+dfsg~b33-12.1.0+dfsg~b34-12.1.0+dfsg~b35-12.1.0+dfsg~b36-1 |
None known |
ankiUbuntu:20.04:LTS |
All versions, plus listed versions 2.1.8+dfsg-1ubuntu12.1.15+dfsg-1 |
None known |
ankiUbuntu:22.04:LTS |
All versions, plus listed versions 2.1.15+dfsg-32.1.15+dfsg-3ubuntu0.1 |
None known |
ankiUbuntu:24.04:LTS |
All versions, plus listed versions 2.1.15+dfsg-3ubuntu12.1.15+dfsg-3ubuntu22.1.15+dfsg-3ubuntu32.1.15+dfsg-3ubuntu42.1.15+dfsg-3ubuntu4.1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-58266 is a medium vulnerability (CVSS 6.5) in Ankitects Anki, published June 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in aqt 25.9.4.
References
github.com/ankitects/anki/security/advisories/GHSA-cw6h-ffmh-x6vh
github.com/ankitects/anki/commit/b2b68d829e853da51b5de8aad6c13b53e90bc20d
github.com/ankitects/anki/releases/tag/25.09.4
github.com/advisories/GHSA-cw6h-ffmh-x6vh
github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58266.json
nvd.nist.gov/vuln/detail/CVE-2026-58266
Left out here: 138 versions. The JSON record has them.