{"id":"GHSA-q4x5-8cj6-52wg","revision":"613c3bac87f145eab4083ca0c74490af","records":[{"revision":"613c3bac87f145eab4083ca0c74490af","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-q4x5-8cj6-52wg","aliases":["CVE-2026-47684"],"title":"Sync-in Server: SSRF protection bypass via IPv4-mapped IPv6 addresses in regExpPrivateIP","description":"Summary:\nThe private IP blocklist regex used in the URL download feature does not match IPv4-mapped IPv6 addresses (e.g. ::ffff:127.0.0.1), allowing SSRF protection to be bypassed on dual-stack systems.\n\nAffected components\n\nbackend/src/applications/files/services/files-manager.service.ts – downloadFromUrl() checks regExpPrivateIP against request.socket.remoteAddress.\nbackend/src/applications/files/utils/url-file.ts – regExpPrivateIP does not include ::ffff:<ipv4> variants.\n\nDetails:\nThe regExpPrivateIP regex in backend/src/applications/files/utils/url-file.ts correctly blocks standard IPv4 private ranges but does not include ::ffff: prefixed variants. On dual-stack systems, Node.js can report a socket's remoteAddress in IPv4-mapped IPv6 form, meaning the check in FilesManager.downloadFromUrl() can be bypassed entirely.\n\nPoC:\n[poc.pdf](https://github.com/user-attachments/files/26990874/poc.pdf)\n\n\n\n\nProof:\n<img width=\"1080\" height=\"842\" alt=\"1000226655\" src=\"https://github.com/user-attachments/assets/797cea83-0a08-4a16-a91b-31c51068d473\" />\n\n\n\n\n\nImpact:\nAn attacker can supply a crafted URL pointing to an internal address that gets reported as ::ffff:127.0.0.1 or ::ffff:10.x.x.x, causing the server to fetch internal resources that should be blocked. Any user with access to the file download feature is a potential attacker.","state":0,"publishedAt":"2026-06-05T16:34:59+00:00","modifiedAt":"2026-07-08T17:45:18.1939043+00:00","affected":[{"ecosystem":"npm","name":"@sync-in/server","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"2.3.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/Sync-in/server/security/advisories/GHSA-q4x5-8cj6-52wg","https://nvd.nist.gov/vuln/detail/CVE-2026-47684","https://github.com/Sync-in/server","https://github.com/Sync-in/server/releases/tag/v2.3.0"],"sourceUrl":"https://github.com/advisories/GHSA-q4x5-8cj6-52wg","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-q4x5-8cj6-52wg","identifiers":["GHSA-q4x5-8cj6-52wg","CVE-2026-47684"]},"retained":false,"historicalAffected":[]}],"coverage":[]}