T03 · Remote Payload Retrieval and Execution
- Location
assets/web/index.html:202- Finding
Remote Browser Dependencies Execute Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
assets/web/index.html:202-203
Vulnerability Type: Remote executable JavaScript loaded at runtime without integrity verification
Risk Level: HighVulnerable Code
json "three": "https://unpkg.com/three@0.184.0/build/three.module.js", "three/addons/": "https://unpkg.com/three@0.184.0/examples/jsm/"Technical Analysis
The web converter imports executable JavaScript directly from the
unpkg.comthird-party CDN. Although a package version is present in the URL, the resources are not bundled with the application and are not protected by Subresource Integrity or an equivalent cryptographic verification mechanism.These modules execute in the same browser origin and JavaScript context as the converter. Consequently, they can access the in-memory FBX input, converted GLB data, DOM, browser storage available to the origin, and network APIs. Loading remote executable code is not required for the declared local-only conversion functionality because the dependencies can be vendored and served with the other static assets.
This also weakens the application's claim that conversion is entirely local: model bytes are processed locally by the reviewed application code, but externally controlled JavaScript executes in the processing context.
Attack Path
- An attacker compromises the CDN, the upstream package publication account, package resolution infrastructure, or the hosting path.
- A user opens the deployed converter while the compromised resource is being served.
- The browser downloads and executes the modified module in the converter's page context.
- The user selects a confidential FBX file.
- The malicious module reads the model data from application state or intercepts file-processing operations.
- The module transmits the model or derived data to an attacker-controlled endpoint or modifies the generated GLB.
Impact Assessment
Successful ...[truncated 401 chars]
- Remediation
View remediation
Remediation Suggestions
- Vendor the exact Three.js and addon files under
assets/web/and serve them from the same reviewed release. - Record and verify cryptographic hashes of all vendored artifacts during the build and release process.
- If remote hosting remains necessary, use immutable content-addressed URLs and enforce Subresource Integrity where technically supported.
- Add a restrictive Content Security Policy that limits
script-srcandconnect-srcto explicitly required origins. - Remove unnecessary outbound network privileges so converter code cannot transmit model data.
- Include dependency versions and checksums in release documentation and automate dependency provenance verification.
- Vendor the exact Three.js and addon files under
