Skip to content
Fencer Vulns
critical 9.3

CVE-2026-103922 json

Capacitor Android and iOS: remote content can be loaded at the app origin via the internal HTTP proxy path

published 2026-10-01 38 d ago modified 2026-10-05 34 d ago also EUVD-2026-90973 , GHSA-rvm3-566m-v7fv

cvss
9.3
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 27%
public exploits
0
none known

Summary

Capacitor is a cross-platform native runtime for web applications. From 6.0.0 until 6.2.2, 7.6.9, 8.3.5, 8.4.3, and 8.5.1, the Android and iOS WebView navigation guard validates a target URL's host and scheme but not its path, allowing a victim who activates an untrusted link to navigate a frame to /_capacitor_http_interceptor_. The native proxy can fetch an attacker-selected URL and return the response as a document at the application's own origin, allowing script in that response to access same-origin storage, cookies, and registered Capacitor plugin capabilities. Applications remain affected when CapacitorHttp is disabled because affected releases serve the proxy path regardless of that setting. This issue is fixed in versions 6.2.2, 7.6.9, 8.3.5, 8.4.3, and 8.5.1.

Patch / fix

  • npm @capacitor/android 6.2.2, 7.6.9, 8.4.3, 8.5.1
  • npm @capacitor/ios 6.2.2, 7.6.9, 8.4.3, 8.5.1
  • swift github.com/ionic-team/capacitor-swift-pm 6.2.2, 7.6.9, 8.4.3, 8.5.1
  • maven com.capacitorjs:core 6.2.2, 7.6.9, 8.4.3, 8.5.1

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
38 d ago

Exploit prediction

0.34% chance of exploitation in the next 30 days, higher than 27% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
GitHub 3.1 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

Affected packages

ecosystem package affected fixed in
npm @capacitor/android
>=6.0.0, <6.2.2
>=7.0.0, <7.6.9
>=8.5.0, <8.5.1
>=8.3.5, <8.4.3
>=8.0.0, <=8.3.4
6.2.2
7.6.9
8.5.1
8.4.3
npm @capacitor/ios
>=6.0.0, <6.2.2
>=7.0.0, <7.6.9
>=8.5.0, <8.5.1
>=8.3.5, <8.4.3
>=8.0.0, <=8.3.4
6.2.2
7.6.9
8.5.1
8.4.3
swift github.com/ionic-team/capacitor-swift-pm
>=6.0.0, <6.2.2
>=7.0.0, <7.6.9
>=8.5.0, <8.5.1
>=8.3.5, <8.4.3
>=8.0.0, <=8.3.4
6.2.2
7.6.9
8.5.1
8.4.3
maven com.capacitorjs:core
>=6.0.0, <6.2.2
>=7.0.0, <7.6.9
>=8.5.0, <8.5.1
>=8.3.5, <8.4.3
>=8.0.0, <=8.3.4
6.2.2
7.6.9
8.5.1
8.4.3

Affected products

  • ionic-team capacitor
  • @capacitor android
  • @capacitor ios
  • com.capacitorjs core
  • swift github.com/ionic-team/capacitor-swift-pm

Classification

Weakness
  • CWE-346 Origin Validation Error
  • CWE-441 Unintended Proxy or Intermediary

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.