GHSA-cw6h-ffmh-x6vh

Suggest an improvement
Source
https://github.com/advisories/GHSA-cw6h-ffmh-x6vh
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-cw6h-ffmh-x6vh/GHSA-cw6h-ffmh-x6vh.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-cw6h-ffmh-x6vh
Aliases
Published
2026-06-19T22:10:19Z
Modified
2026-07-08T08:12:36Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N CVSS Calculator
Summary
Anki: User scripts in iframes have access to the internal Anki API
Details

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 .apkg files from untrusted sources.
  • Inspect .apkg contents (it's a ZIP) for .html/.svg files with <script> tags before importing.
  • Block unexpected outbound network requests from the Anki process at the firewall level.

References

Database specific
{
    "cwe_ids":  [
        "CWE-22"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-06-19T22:10:19Z",
    "nvd_published_at":  null,
    "severity":  "MODERATE"
}
References

Affected packages

PyPI / aqt

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
25.9.4

Affected versions

2.*
2.1.24
2.1.25
2.1.26
2.1.28
2.1.29
2.1.30
2.1.31
2.1.32
2.1.33
2.1.34
2.1.35
2.1.36
2.1.37rc1
2.1.37
2.1.38b1
2.1.38b2
2.1.38b3
2.1.38b4
2.1.38
2.1.39b1
2.1.39b2
2.1.39
2.1.40
2.1.41b1
2.1.41b2
2.1.41b3
2.1.41b4
2.1.41b5
2.1.41b6
2.1.41b7
2.1.41
2.1.42
2.1.43b1
2.1.43
2.1.44b1
2.1.44
2.1.45a1
2.1.45a2
2.1.45a3
2.1.45a4
2.1.45b1
2.1.45b2
2.1.45b3
2.1.45b4
2.1.45b5
2.1.45b6
2.1.45rc1
2.1.45rc2
2.1.45
2.1.46rc1
2.1.46
2.1.47rc1
2.1.47rc2
2.1.47
2.1.48rc1
2.1.48rc2
2.1.48
2.1.49
2.1.50b1
2.1.50b2
2.1.50b3
2.1.50b4
2.1.50b5
2.1.50b6
2.1.50b7
2.1.50b8
2.1.50b9
2.1.50rc1
2.1.50rc2
2.1.50rc3
2.1.50rc4
2.1.50
2.1.51rc1
2.1.51rc2
2.1.51
2.1.52rc1
2.1.52rc2
2.1.52rc3
2.1.52
2.1.53rc1
2.1.53rc2
2.1.53
2.1.54rc1
2.1.54rc2
2.1.54rc3
2.1.54
2.1.55b1
2.1.55b2
2.1.55b3
2.1.55b4
2.1.55b6
2.1.55b7
2.1.55rc1
2.1.55rc2
2.1.55
2.1.56rc1
2.1.56
2.1.57b1
2.1.57rc1
2.1.57
2.1.58
2.1.59
2.1.60
2.1.61b1
2.1.61b2
2.1.61
2.1.62b1
2.1.62rc1
2.1.62
2.1.63
2.1.64
2.1.65
2.1.66b1
2.1.66rc1
2.1.66
23.*
23.10b1
23.10b2
23.10b3
23.10b4
23.10b5
23.10b6
23.10rc1
23.10rc2
23.10rc3
23.10
23.10.1rc1
23.10.1rc2
23.10.1
23.12b1
23.12b2
23.12b3
23.12rc1
23.12
23.12.1
24.*
24.4rc1
24.4rc2
24.4
24.4.1
24.6
24.6.1
24.6.2
24.6.3
24.10b1
24.10b2
24.10b3
24.10b4
24.10rc1
24.10rc2
24.11rc1
24.11rc2
24.11
25.*
25.1b1
25.1rc1
25.2rc1
25.2
25.2.1
25.2.2
25.2.3
25.2.4
25.2.5
25.2.6
25.2.7
25.5b1
25.5b2
25.6b1
25.6b2
25.6b3
25.6b4
25.6b5
25.6b6
25.6b7
25.7
25.7.1
25.7.2
25.7.3rc1
25.7.3
25.7.4
25.7.5
25.8b1
25.8b2
25.8b3
25.8b4
25.8b5
25.9rc1
25.9
25.9.1
25.9.2
25.9.3

Database specific

last_known_affected_version_range
"<= 25.9.3"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-cw6h-ffmh-x6vh/GHSA-cw6h-ffmh-x6vh.json"