{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-42261 exists.","fix":"No fix has been published for CVE-2026-42261 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-42261 is a high-severity server-side request forgery vulnerability in legeling PromptHub, published on 8 May 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-42261 and fix it if it is affected.\n\nWhat it is: CVE-2026-42261 is a high-severity server-side request forgery vulnerability in legeling PromptHub, published on 8 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-42261 exists.\n\nAffected product: legeling PromptHub. No package-level version data is available, so check the vendor advisory linked from the reference page.\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-2026-42261/ (Markdown: https://insights.sbomify.com/CVE-2026-42261/index.md)","id":"CVE-2026-42261","markdown":"https://insights.sbomify.com/CVE-2026-42261/index.md","name":"CVE-2026-42261","record":{"aliases":["GHSA-9fhh-fjfg-5mr6"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"AI prompt management tool","requires_auth":"low_privilege","summary":"Authenticated users can bypass IPv6 filters to perform Server-Side Request Forgery, accessing internal network resources and sensitive data.","user_interaction":"not_required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"prompthub","vendor":"legeling"}],"cvss":{"score":7.1,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"},{"id":"CWE-693","name":"Protection Mechanism Failure"},{"id":"CWE-20","name":"Improper Input Validation"}],"description":"PromptHub is an all-in-one AI toolbox for prompt, skill, and agent management. From version 0.4.9 to before version 0.5.4, apps/web/src/routes/skills.ts exposes an authenticated endpoint POST /api/skills/fetch-remote that fetches a user-supplied URL server-side and reflects the response body (up to 5 MB) back to the caller. The SSRF protection in apps/web/src/utils/remote-http.ts (isPrivateIPv6) attempts to block private/loopback destinations, but multiple alternate-but-valid IPv6 representations bypass the check. The bypasses reach any IPv4 address (loopback, RFC1918, link-local) via IPv4-mapped IPv6 in hex form, and the canonical ::1 via any representation that isn't the literal string \"::1\". Any authenticated user (role: user or admin) can trigger the SSRF. On deployments configured with ALLOW_REGISTRATION=true — a supported and documented configuration — this means any internet user who can register. This issue has been patched in version 0.5.4.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"PromptHub: Authenticated SSRF via IPv6 filter bypass in `POST /api/skills/fetch-remote`","id":"CVE-2026-42261","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"ssrf","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"Axios: Prototype pollution read-side gadgets in HTTP adapter allow credential injection and request hijacking","id":"CVE-2026-42264"},"packages":[],"prev":{"headline":"open-websearch has SSRF in `fetchWebContent` MCP tool: bracketed IPv6 literals and non-resolving hostname check bypass `isPrivateOrLocalHostname`","id":"CVE-2026-42260"},"products":["PromptHub"],"published":"2026-05-08","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-05-11","vendors":["legeling"]},"summary":"Authenticated users can bypass IPv6 filters to perform Server-Side Request Forgery, accessing internal network resources and sensitive data.","url":"https://insights.sbomify.com/CVE-2026-42261/"}