{"id":"GHSA-vh3f-qppr-j97f","revision":"95f30f20e01647f2a0b817699225d64b","records":[{"revision":"95f30f20e01647f2a0b817699225d64b","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-vh3f-qppr-j97f","aliases":["CVE-2025-59430"],"title":"Mesh Connect JS SDK Vulnerable to Cross Site Scripting via createLink.openLink","description":"### Summary\nThe lack of sanitization of URLs protocols in the `createLink.openLink` function enables the execution of arbitrary JavaScript code within the context of the parent page.\n### Details\nhttps://github.com/FrontFin/mesh-web-sdk/blob/cf013b85ab95d64c63cbe46d6cb14695474924e7/packages/link/src/Link.ts#L441\nThe `createLink.openLink` function takes base64 encoded links, decodes them, and then sets the resulting string as the `src` attribute of an `iframe`. It’s important to note that the protocol part is not validated, so a payload, which is a valid URL, such as `javascript:alert(document.domain)//`, can be provided to the function.\n\n### PoC\n1. Extract [poc-mesh-web-sdk.zip](https://github.com/user-attachments/files/22223079/poc-mesh-web-sdk.zip)\n2. Run `yarn install` and then `yarn start`\n3. Paste this payload inside the input box: `amF2YXNjcmlwdDphbGVydCh3aW5kb3cucGFyZW50LmRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImgyIikuaXRlbSgwKVsiaW5uZXJIVE1MIl0pLy8=` \n4. Click on the _OpenLink_ button\n5. Notice the alert box and ability to access the `h2` title from the parent page\n\nIt can also be verified via `https://paylink.meshconnect.com/?linkToken=amF2YXNjcmlwdDphbGVydCgpLy8=`.\n\n### Impact\nThis is technically indistinguishable from a real page at the rendering level and allows access to the parent page DOM, storage, session, and cookies. If the attacker can specify `customIframeId`, they can hijack the source of existing iframes.\n\nIf access to the private key is possible or if transactions are tampered with or initialized, in a wallet context, it can result in a critical impact due to loss of funds scenarios.\n\n### Reporters\n- [Amine `zwxxb` Elsassi](https://github.com/zwxxb) of [Aptos Labs](https://aptoslabs.com/)","state":0,"publishedAt":"2025-09-22T21:09:27+00:00","modifiedAt":"2025-09-22T21:58:19+00:00","affected":[{"ecosystem":"npm","name":"@meshconnect/web-link-sdk","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"3.3.2"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/FrontFin/mesh-web-sdk/security/advisories/GHSA-vh3f-qppr-j97f","https://nvd.nist.gov/vuln/detail/CVE-2025-59430","https://github.com/FrontFin/mesh-web-sdk/pull/124","https://github.com/FrontFin/mesh-web-sdk/commit/7f22148516d58e21a8b7670dde927d614c0d15c2","https://github.com/FrontFin/mesh-web-sdk","https://github.com/FrontFin/mesh-web-sdk/blob/cf013b85ab95d64c63cbe46d6cb14695474924e7/packages/link/src/Link.ts#L441"],"sourceUrl":"https://github.com/advisories/GHSA-vh3f-qppr-j97f","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-vh3f-qppr-j97f","identifiers":["GHSA-vh3f-qppr-j97f","CVE-2025-59430"]},"retained":false,"historicalAffected":[]}],"coverage":[]}