Miggo Logo

CVE-2024-35222:
iFrames Bypass Origin Checks for Tauri API Access Control

5.9

CVSS Score
3.1

Basic Information

EPSS Score
0.05807%
Published
5/23/2024
Updated
5/23/2024
KEV Status
No
Technology
TechnologyRust

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
taurirust< 1.6.71.6.7
taurirust>= 2.0.0-beta.0, < 2.0.0-beta.202.0.0-beta.20

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from two key issues: 1) Unrestricted injection of Tauri IPC scripts into iFrames (particularly macOS), and 2) Lack of cryptographic validation for IPC message sources. The JavaScript IPC handler (ipc-protocol.js) and Rust message processor (protocol.rs) were vulnerable because they lacked the TAURI_INVOKE_KEY mechanism added in patches. The macOS-specific script injection in app/webview.rs further exacerbated the issue by initializing IPC in subframes. High confidence in the first two functions due to direct code changes in the patch; medium confidence for the macOS injection due to descriptive commit messages but less explicit code mapping.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

## Imp**t R*mot* ori*in i*r*m*s in T*uri *ppli**tions **n ****ss t** T*uri IP* *n*points wit*out **in* *xpli*itly *llow** in t** [`**n**rousR*mot**om*inIp*****ss`](*ttps://v*.t*uri.*pp/*pi/*on*i*/#s**urity*on*i*.**n**rousr*mot**om*inip*****ss) in v*

Reasoning

T** vuln*r**ility st*mm** *rom two k*y issu*s: *) Unr*stri*t** inj**tion o* T*uri IP* s*ripts into i*r*m*s (p*rti*ul*rly m**OS), *n* *) L**k o* *rypto*r*p*i* v*li**tion *or IP* m*ss*** sour**s. T** J*v*S*ript IP* **n*l*r (ip*-proto*ol.js) *n* Rust m*