{"id":4482213,"name":"@astrojs/cloudflare","ecosystem":"npm","description":"Deploy your site to Cloudflare Workers","homepage":"https://docs.astro.build/en/guides/integrations-guide/cloudflare/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/withastro/astro","keywords_array":["withastro","astro-adapter"],"namespace":"astrojs","versions_count":271,"first_release_published_at":"2023-11-15T22:43:06.493Z","latest_release_published_at":"2026-06-25T16:17:04.143Z","latest_release_number":"14.0.1","last_synced_at":"2026-06-27T13:54:55.378Z","created_at":"2022-06-24T20:11:30.251Z","updated_at":"2026-06-27T13:54:55.379Z","registry_url":"https://www.npmjs.com/package/@astrojs/cloudflare","install_command":"npm install @astrojs/cloudflare","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"next--rc":"0.0.0-rc-20220726043527","next--imgcache":"0.0.0-imgcache-20220929145446","next--node-standalone":"0.0.0-node-standalone-20221011210529","next--error-overlay":"0.0.0-error-overlay-20221203190718","next--join-base":"0.0.0-join-base-20221208170900","next--content-schemas":"0.0.0-content-schemas-20221209180144","next--content-collections":"0.0.0-content-collections-20221215161753","next--prerender":"0.0.0-prerender-20221215222121","next--fixwin":"0.0.0-fixwin-20221216184820","next--mdx-links":"0.0.0-mdx-links-20230206172907","next--cloudcannon-fix":"0.0.0-cloudcannon-fix-20230306211609","next--experimental-assets":"0.0.0-experimental-assets-20230307131344","next--vercel-json":"0.0.0-vercel-json-20230313201834","next--head-prop":"0.0.0-head-prop-20230323183456","next--vercel-image":"0.0.0-vercel-image-20230428112211","next--outlet":"0.0.0-outlet-20230516145630","next--vercel-edge-middleware":"0.0.0-vercel-edge-middleware-20230630125718","rc":"7.0.0-rc.3","next--sanitize-filenames":"0.0.0-sanitize-filenames-20230901203435","next--vercel-speed-insights":"0.0.0-vercel-speed-insights-20230912155045","experimental--mf-local-cache-patch":"0.0.0-mf-local-cache-patch-20231028190438","experimental--cf-assets":"0.0.0-cf-assets-20231106123932","experimental--404-fix":"0.0.0-404-fix-20231115224256","experimental--dev-toolbar-app":"0.0.0-dev-toolbar-app-20231214141808","experimental--cf-assets-compile":"0.0.0-cf-assets-compile-20240109151832","experimental--cf-10":"0.0.0-cf-10-20240327073709","experimental--cf-10-solid":"0.0.0-cf-10-solid-20240329084913","experimental--cf-10-routes-fix":"0.0.0-cf-10-routes-fix-20240331183009","experimental--cf-no-prerender-chunks":"0.0.0-cf-no-prerender-chunks-20240412140922","experimental--ast":"0.0.0-ast-20240419160649","experimental--cf-deps-chunk":"0.0.0-cf-deps-chunk-20240508124857","experimental--astro-env-spec":"0.0.0-astro-env-spec-20240617150332","alpha":"14.0.0-alpha.1","beta":"14.0.0-beta.3","latest":"14.0.1"}},"repo_metadata":{"id":212279435,"uuid":"696462622","full_name":"withastro/adapters","owner":"withastro","description":"Home for Astro's core maintained adapters","archived":false,"fork":false,"pushed_at":"2024-04-27T03:45:23.000Z","size":18120,"stargazers_count":39,"open_issues_count":14,"forks_count":22,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-05-01T11:41:28.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/withastro.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"withastro","patreon":null,"open_collective":"astrodotbuild","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2023-09-25T19:43:19.000Z","updated_at":"2024-05-03T06:42:47.774Z","dependencies_parsed_at":"2024-01-30T01:59:43.925Z","dependency_job_id":"21131e5c-244b-4dfa-9180-0ad77b6e61b2","html_url":"https://github.com/withastro/adapters","commit_stats":null,"previous_names":["withastro/adapters"],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/withastro","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":216712638,"owners_count":16068556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"withastro","name":"Astro","uuid":"44914786","kind":"organization","description":"Build fast websites, faster.","email":null,"website":"https://www.astro.build","location":null,"twitter":"astrodotbuild","company":null,"icon_url":"https://avatars.githubusercontent.com/u/44914786?v=4","repositories_count":38,"last_synced_at":"2024-05-01T09:34:57.754Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"withastro","patreon":null,"open_collective":"astrodotbuild","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"html_url":"https://github.com/withastro","funding_links":["https://github.com/sponsors/withastro","https://opencollective.com/astrodotbuild"],"total_stars":49749,"followers":2285,"following":0,"created_at":"2022-11-02T16:45:18.665Z","updated_at":"2024-05-01T09:35:11.533Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/withastro","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/withastro/repositories"},"tags":[{"name":"@astrojs/cloudflare@10.2.5","sha":"f14f4d72befcb715da806fea54a8245e8f052556","kind":"tag","published_at":"2024-05-03T05:36:42.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.2.5","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.5/manifests"},{"name":"@astrojs/cloudflare@10.2.4","sha":"38c32c9db490dbe58d813c7eed1113d4f7f8683d","kind":"tag","published_at":"2024-04-24T12:21:52.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.2.4","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.4/manifests"},{"name":"@astrojs/cloudflare@10.2.3","sha":"87eb46c08c4264fcad2b63d172822afdc011c7db","kind":"tag","published_at":"2024-04-23T05:11:52.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.2.3","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.3/manifests"},{"name":"@astrojs/cloudflare@10.2.2","sha":"3be3be928fdd3e29bb228cb45a1baca100ef1dd6","kind":"tag","published_at":"2024-04-22T07:03:21.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.2.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.2/manifests"},{"name":"@astrojs/cloudflare@10.2.1","sha":"1891490ccee03ba84e3417b88b85e801c67ced23","kind":"tag","published_at":"2024-04-22T06:08:36.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.2.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.1/manifests"},{"name":"@astrojs/cloudflare@10.2.0","sha":"832c6ef51c8ec2d1aa2a6cfa52e14b67adbef456","kind":"tag","published_at":"2024-04-18T05:56:44.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.2.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.2.0/manifests"},{"name":"@astrojs/cloudflare@10.1.0","sha":"d10af69669063aae819aa66dbb4c99c72b7d63ff","kind":"tag","published_at":"2024-04-10T08:58:14.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.1.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.1.0/manifests"},{"name":"@astrojs/cloudflare@10.0.3","sha":"efb597b9c117fea4935c20c0f3fde96b72aa162b","kind":"tag","published_at":"2024-04-08T21:14:54.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.0.3","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.3/manifests"},{"name":"@astrojs/cloudflare@10.0.2","sha":"b153fc4565dd5b5902068e097a38a50f30a67bb8","kind":"tag","published_at":"2024-04-01T14:20:53.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.0.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.2/manifests"},{"name":"@astrojs/cloudflare@10.0.1","sha":"ceabbc2ba38e8072456f1fd423ead4e945d163fd","kind":"tag","published_at":"2024-03-29T11:46:38.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.0.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.1/manifests"},{"name":"@astrojs/cloudflare@10.0.0","sha":"38da2ca074ddcd95d00ba26c6dca03c99532046b","kind":"tag","published_at":"2024-03-28T11:59:54.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@10.0.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@10.0.0/manifests"},{"name":"@astrojs/cloudflare@9.2.1","sha":"778eea5c7acd8ca967543ff9f66023b77904ff9f","kind":"tag","published_at":"2024-03-27T13:56:26.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@9.2.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@9.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.2.1/manifests"},{"name":"@astrojs/cloudflare@9.2.0","sha":"3c2591b26fa9193501407142cf29114b72c8bea6","kind":"tag","published_at":"2024-03-22T15:47:57.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@9.2.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.2.0/manifests"},{"name":"@astrojs/netlify@5.2.0","sha":"40d4073ff1d4c00047ce2f32cc621b64747f0c30","kind":"tag","published_at":"2024-03-19T20:00:47.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.2.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.2.0/manifests"},{"name":"@astrojs/cloudflare@9.1.0","sha":"28a6a588c762d02c8bfe572a5d06eb783aa50230","kind":"tag","published_at":"2024-03-05T06:31:53.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@9.1.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.1.0/manifests"},{"name":"@astrojs/cloudflare@9.0.2","sha":"0f89ac8f30549e825ddf710bcf14fda53bc12a02","kind":"tag","published_at":"2024-02-27T13:59:32.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@9.0.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.0.2/manifests"},{"name":"@astrojs/netlify@5.1.3","sha":"de62fa890effd2dfb80e338734473dba725c9bad","kind":"tag","published_at":"2024-02-26T18:59:14.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.1.3","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.3/manifests"},{"name":"@astrojs/cloudflare@9.0.1","sha":"bea39d7b2e5117128f4898c41d1fecfc98bbbb01","kind":"tag","published_at":"2024-02-17T06:06:50.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@9.0.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.0.1/manifests"},{"name":"@astrojs/netlify@5.1.2","sha":"804f332554ad94ee26f0a91c379db47768e85f44","kind":"tag","published_at":"2024-02-13T21:26:47.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.1.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.2/manifests"},{"name":"@astrojs/netlify@5.1.1","sha":"701accacf09056d8e001a8db21b3a0d23b5eb73d","kind":"tag","published_at":"2024-02-12T08:32:42.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.1.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.1/manifests"},{"name":"@astrojs/netlify@5.1.0","sha":"0a87e38eae63c043f053aea25a34bb81b6723895","kind":"tag","published_at":"2024-02-07T18:26:54.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.1.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.1.0/manifests"},{"name":"@astrojs/netlify@5.0.1","sha":"7a5c3b06a7d62357dbeaa0fa060e35632aee61a4","kind":"tag","published_at":"2024-02-01T17:48:55.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.0.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.0.1/manifests"},{"name":"@astrojs/cloudflare@9.0.0","sha":"3854812c9bd3558857bb9084668925835dcf4ee0","kind":"tag","published_at":"2024-01-23T21:47:53.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@9.0.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@9.0.0/manifests"},{"name":"@astrojs/netlify@5.0.0","sha":"3854812c9bd3558857bb9084668925835dcf4ee0","kind":"tag","published_at":"2024-01-23T21:47:53.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@5.0.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@5.0.0/manifests"},{"name":"@astrojs/netlify@4.1.1","sha":"32ce15bfa826446825ec24943fce09759a9a3e6c","kind":"tag","published_at":"2024-01-11T12:51:57.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@4.1.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.1.1/manifests"},{"name":"@astrojs/cloudflare@8.1.0","sha":"09306d51bb83f584ab35509881c83618a2752445","kind":"tag","published_at":"2024-01-09T15:29:16.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@8.1.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.1.0/manifests"},{"name":"@astrojs/cloudflare@8.0.2","sha":"1d0efcf95fa7b502de7a91130ad62b9a38714b2e","kind":"tag","published_at":"2024-01-05T13:19:39.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@8.0.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.0.2/manifests"},{"name":"@astrojs/netlify@4.1.0","sha":"c36592661ff69e03a8715782389a4830db9c81e8","kind":"tag","published_at":"2024-01-03T16:10:36.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@4.1.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.1.0/manifests"},{"name":"@astrojs/netlify@4.0.2","sha":"4055ff05fd1a233933010898e532769d8f6107da","kind":"tag","published_at":"2023-12-28T18:26:03.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@4.0.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.0.2/manifests"},{"name":"@astrojs/cloudflare@8.0.1","sha":"4055ff05fd1a233933010898e532769d8f6107da","kind":"tag","published_at":"2023-12-28T18:26:03.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@8.0.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.0.1/manifests"},{"name":"@astrojs/netlify@4.0.1","sha":"2ec6884b9fa57004c523f0d222a2e8a16d5d1c3a","kind":"tag","published_at":"2023-12-19T08:05:39.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@4.0.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.0.1/manifests"},{"name":"@astrojs/netlify@4.0.0","sha":"e21ffd29edd63d7f9d7024071f5e933f433a5686","kind":"tag","published_at":"2023-12-18T07:17:07.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@4.0.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@4.0.0/manifests"},{"name":"@astrojs/netlify@3.1.1","sha":"a33507b0305c0088fda66278351f99c4cd421b4a","kind":"tag","published_at":"2023-12-07T06:33:01.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@3.1.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.1.1/manifests"},{"name":"@astrojs/netlify@3.1.0","sha":"97b8a9d12a305a5bef3e562501a2e8d8e88e68d5","kind":"tag","published_at":"2023-12-06T20:35:22.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@3.1.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.1.0/manifests"},{"name":"@astrojs/cloudflare@8.0.0","sha":"446be86dee3120bf1356f56fa7e6365b5b76f723","kind":"tag","published_at":"2023-12-05T14:53:37.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@8.0.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@8.0.0/manifests"},{"name":"@astrojs/cloudflare@7.7.1","sha":"a3f92ae60d9c0b8c9a3b9786f3173aaa15f1ed68","kind":"tag","published_at":"2023-11-16T16:19:55.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.7.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.7.1/manifests"},{"name":"@astrojs/cloudflare@7.7.0","sha":"79c41760fb57a26e112b9e3af27f0be5870a1911","kind":"tag","published_at":"2023-11-13T19:09:33.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.7.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.7.0/manifests"},{"name":"@astrojs/netlify@3.0.4","sha":"6ac901709bbd930912af997535c4915d5b3078fe","kind":"tag","published_at":"2023-11-03T16:49:29.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@3.0.4","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.0.4/manifests"},{"name":"@astrojs/cloudflare@7.6.4","sha":"6ac901709bbd930912af997535c4915d5b3078fe","kind":"tag","published_at":"2023-11-03T16:49:29.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.6.4","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.4/manifests"},{"name":"@astrojs/cloudflare@7.6.3","sha":"f8eb1d74926cad107f8d2274aaf237fe884447b3","kind":"tag","published_at":"2023-10-27T17:58:55.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.6.3","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.3/manifests"},{"name":"@astrojs/cloudflare@7.6.2","sha":"0ea13bbeed92e20b76c2fb4422db5c3ad72e5281","kind":"tag","published_at":"2023-10-26T07:13:22.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.6.2","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.2/manifests"},{"name":"@astrojs/cloudflare@7.6.1","sha":"a9c40ce92bedd3abbbd2ff7bf82c0baaa4dc247f","kind":"tag","published_at":"2023-10-19T14:01:33.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.6.1","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.1/manifests"},{"name":"@astrojs/cloudflare@7.6.0","sha":"9d3b709692582cb9b909dead69c8d3a551806cf0","kind":"tag","published_at":"2023-10-19T05:55:52.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.6.0","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.6.0/manifests"},{"name":"@astrojs/netlify@3.0.3","sha":"732f328fb9d92c8d0c46506281c74c07b82d456c","kind":"tag","published_at":"2023-10-16T19:23:01.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/netlify@3.0.3","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/netlify@3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fnetlify@3.0.3/manifests"},{"name":"@astrojs/cloudflare@7.5.4","sha":"732f328fb9d92c8d0c46506281c74c07b82d456c","kind":"tag","published_at":"2023-10-16T19:23:00.000Z","download_url":"https://codeload.github.com/withastro/adapters/tar.gz/@astrojs/cloudflare@7.5.4","html_url":"https://github.com/withastro/adapters/releases/tag/@astrojs/cloudflare@7.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/tags/@astrojs%2Fcloudflare@7.5.4/manifests"}]},"repo_metadata_updated_at":"2024-09-08T02:10:48.176Z","dependent_packages_count":8,"downloads":1984206,"downloads_period":"last-month","dependent_repos_count":102,"rankings":{"downloads":1.0254173585244357,"dependent_repos_count":1.4143638350123913,"dependent_packages_count":3.1525858272487315,"stargazers_count":0.47053807835569716,"forks_count":0.9160290355876677,"docker_downloads_count":1.7140895202024806,"average":1.4488372758219006},"purl":"pkg:npm/%40astrojs/cloudflare","advisories":[{"uuid":"GSA_kwCzR0hTQS04OGdtLWoyd3gtNThoNs4ABVs0","url":"https://github.com/advisories/GHSA-88gm-j2wx-58h6","title":"Cloudflare has SSRF via redirect following through its image-binding-transform endpoint (incomplete fix for GHSA-qpr4)","description":"## Summary\n\nThe `fetch()` call for remote images in `packages/integrations/cloudflare/src/utils/image-binding-transform.ts` (line 28) uses the default `redirect: 'follow'` behavior. This allows the Cloudflare Worker to follow HTTP redirects to arbitrary URLs, bypassing the `isRemoteAllowed()` domain allowlist check which only validates the initial URL.\n\nAll three other image fetch paths in the codebase correctly use `{ redirect: 'manual' }`. This is an incomplete fix for GHSA-qpr4-c339-7vq8.\n\nConfirmed on HEAD.\n\n## Root Cause\n\n`image-binding-transform.ts` line 28:\n\n    const content = await (isRemotePath(href) ? fetch(imageSrc) : assets.fetch(imageSrc));\n\nMissing `{ redirect: 'manual' }`. The three protected paths:\n\n    // image-passthrough-endpoint.ts:23\n    response = await fetch(href, { redirect: 'manual' });\n\n    // assets/endpoint/shared.ts:11\n    const res = await fetch(src, { redirect: 'manual' });\n\n    // assets/utils/remoteProbe.ts:53\n    const response = await fetch(url, { redirect: 'manual' });\n\n## PoC\n\nDemonstrated with Node.js that `fetch()` without `redirect: 'manual'` follows 302 redirects to arbitrary destinations:\n\n    # Server A (allowed domain) returns 302 → Server B (internal)\n    fetch('http://allowed:19741/img.jpg')                        → follows 302 → hits http://internal:19742/secret\n    fetch('http://allowed:19741/img.jpg', {redirect:'manual'})   → returns 302, internal server NOT hit\n\nAttack path: attacker finds an open redirect on an allowed domain, crafts `/_image?href=https://allowed-cdn.com/redirect?url=http://internal-service/`, and the Worker follows the redirect to the unauthorized destination.\n\n## Impact\n\nBypasses the `image.domains` and `image.remotePatterns` allowlist for the default Cloudflare image service (`cloudflare-binding`). Enables blind SSRF to domains not in the allowlist. Same vulnerability class as GHSA-qpr4-c339-7vq8 (HIGH) which fixed the passthrough endpoint but missed this one.\n\n## Suggested Fix\n\n    const content = await (isRemotePath(href) ? fetch(imageSrc, { redirect: 'manual' }) : assets.fetch(imageSrc));","origin":"UNSPECIFIED","severity":"LOW","published_at":"2026-04-23T21:52:03.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.2,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L","references":["https://github.com/withastro/astro/security/advisories/GHSA-88gm-j2wx-58h6","https://github.com/withastro/astro/commit/a43eb4b40b4f81530e3c9b5e2959495900320433","https://github.com/advisories/GHSA-qpr4-c339-7vq8","https://github.com/withastro/astro/releases/tag/%40astrojs%2Fcloudflare%4013.1.10","https://nvd.nist.gov/vuln/detail/CVE-2026-41321","https://github.com/advisories/GHSA-88gm-j2wx-58h6"],"source_kind":"github","identifiers":["GHSA-88gm-j2wx-58h6","CVE-2026-41321"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-23T22:00:08.602Z","updated_at":"2026-06-22T16:01:24.947Z","epss_percentage":0.00199,"epss_percentile":0.09759,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04OGdtLWoyd3gtNThoNs4ABVs0","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04OGdtLWoyd3gtNThoNs4ABVs0","packages":[{"ecosystem":"npm","package_name":"@astrojs/cloudflare","versions":[{"first_patched_version":"13.1.10","vulnerable_version_range":"\u003c 13.1.10"}],"purl":"pkg:npm/%40astrojs%2Fcloudflare"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04OGdtLWoyd3gtNThoNs4ABVs0/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1xcHI0LWMzMzktN3ZxOM4ABLqn","url":"https://github.com/advisories/GHSA-qpr4-c339-7vq8","title":"Server-Side Request Forgery via /_image endpoint in Astro Cloudflare adapter","description":"### Summary\n\nWhen using Astro's Cloudflare adapter (`@astrojs/cloudflare`) configured with `output: 'server'` while using the default `imageService: 'compile'`, the generated image optimization endpoint doesn't check the URLs it receives, allowing content from unauthorized third-party domains to be served.\n\n### Details\n\nOn-demand rendered sites built with Astro include an `/_image` endpoint, which returns optimized versions of images.\n\nThe `/_image` endpoint is restricted to processing local images bundled with the site and also supports remote images from domains the site developer has manually authorized (using the [`image.domains`](https://docs.astro.build/en/reference/configuration-reference/#imagedomains) or [`image.remotePatterns`](https://docs.astro.build/en/reference/configuration-reference/#imageremotepatterns) options).\n\nHowever, a bug in impacted versions of the `@astrojs/cloudflare` adapter for deployment on Cloudflare’s infrastructure, allows an attacker to bypass the third-party domain restrictions and serve any content from the vulnerable origin.\n\n### PoC\n\n1. Create a new minimal Astro project (`astro@5.13.3`)\n\n2. Configure it to use the Cloudflare adapter (`@astrojs/cloudflare@12.6.5`) and server output:\n\n   ```js\n   // astro.config.mjs\n   import { defineConfig } from 'astro/config';\n   import cloudflare from '@astrojs/cloudflare';\n\n   export default defineConfig({\n     output: 'server',\n     adapter: cloudflare(),\n   });\n   ```\n\n3. Deploy to Cloudflare Pages or Workers\n\n4. Append `/_image?href=https://placehold.co/600x400` to the deployment URL.\n\n7. This will serve the placeholder image from the unauthorised `placehold.co` domain.\n\n### Impact\n\nAllows a non-authorized third-party to create URLs on an impacted site’s origin that serve unauthorized content. This includes the risk of server-side request forgery (SSRF) and by extension cross-site scripting (XSS) if a user follows a link to a maliciously crafted URL.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2025-09-04T19:24:11.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.2,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","references":["https://github.com/withastro/astro/security/advisories/GHSA-qpr4-c339-7vq8","https://github.com/withastro/astro/commit/9ecf3598e2b29dd74614328fde3047ea90e67252","https://nvd.nist.gov/vuln/detail/CVE-2025-58179","https://github.com/advisories/GHSA-qpr4-c339-7vq8"],"source_kind":"github","identifiers":["GHSA-qpr4-c339-7vq8","CVE-2025-58179"],"repository_url":"https://github.com/withastro/astro","blast_radius":0.0,"created_at":"2025-09-04T20:10:36.273Z","updated_at":"2026-06-22T16:03:55.987Z","epss_percentage":0.00773,"epss_percentile":0.50889,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xcHI0LWMzMzktN3ZxOM4ABLqn","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1xcHI0LWMzMzktN3ZxOM4ABLqn","packages":[{"ecosystem":"npm","package_name":"@astrojs/cloudflare","versions":[{"first_patched_version":"12.6.6","vulnerable_version_range":"\u003e= 11.0.3, \u003c 12.6.6"}],"purl":"pkg:npm/%40astrojs%2Fcloudflare"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xcHI0LWMzMzktN3ZxOM4ABLqn/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/@astrojs/cloudflare","docker_dependents_count":1,"docker_downloads_count":388,"usage_url":"https://repos.ecosyste.ms/usage/npm/@astrojs/cloudflare","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/@astrojs/cloudflare/dependencies","status":null,"funding_links":["https://github.com/sponsors/withastro","https://opencollective.com/astrodotbuild"],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-06T21:36:38.202Z","issues_count":114,"pull_requests_count":165,"avg_time_to_close_issue":1411632.2747252746,"avg_time_to_close_pull_request":552862.0066666667,"issues_closed_count":91,"pull_requests_closed_count":150,"pull_request_authors_count":25,"issue_authors_count":82,"avg_comments_per_issue":4.912280701754386,"avg_comments_per_pull_request":2.121212121212121,"merged_pull_requests_count":131,"bot_issues_count":1,"bot_pull_requests_count":62,"past_year_issues_count":113,"past_year_pull_requests_count":165,"past_year_avg_time_to_close_issue":1304603.1444444444,"past_year_avg_time_to_close_pull_request":552862.0066666667,"past_year_issues_closed_count":90,"past_year_pull_requests_closed_count":150,"past_year_pull_request_authors_count":25,"past_year_issue_authors_count":81,"past_year_avg_comments_per_issue":4.876106194690266,"past_year_avg_comments_per_pull_request":2.121212121212121,"past_year_bot_issues_count":1,"past_year_bot_pull_requests_count":62,"past_year_merged_pull_requests_count":131,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/withastro%2Fadapters/issues","maintainers":[{"login":"alexanderniebuhr","count":63,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexanderniebuhr"},{"login":"ematipico","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ematipico"},{"login":"florian-lefebvre","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/florian-lefebvre"},{"login":"Fryuni","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Fryuni"},{"login":"martrapp","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martrapp"},{"login":"bluwy","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bluwy"},{"login":"Princesseuh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Princesseuh"}],"active_maintainers":[{"login":"alexanderniebuhr","count":63,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alexanderniebuhr"},{"login":"ematipico","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ematipico"},{"login":"florian-lefebvre","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/florian-lefebvre"},{"login":"Fryuni","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Fryuni"},{"login":"martrapp","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martrapp"},{"login":"bluwy","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/bluwy"},{"login":"Princesseuh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Princesseuh"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@astrojs%2Fcloudflare/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@astrojs%2Fcloudflare/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@astrojs%2Fcloudflare/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@astrojs%2Fcloudflare/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@astrojs%2Fcloudflare/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@astrojs%2Fcloudflare/codemeta","maintainers":[{"uuid":"fredkschott","login":"fredkschott","name":null,"email":"fkschott@gmail.com","url":null,"packages_count":230,"html_url":"https://www.npmjs.com/~fredkschott","role":null,"created_at":"2022-11-15T04:54:26.569Z","updated_at":"2022-11-15T04:54:26.569Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/fredkschott/packages"},{"uuid":"matthewp","login":"matthewp","name":null,"email":"matthew@matthewphillips.info","url":null,"packages_count":473,"html_url":"https://www.npmjs.com/~matthewp","role":null,"created_at":"2022-11-15T04:54:26.589Z","updated_at":"2022-11-15T04:54:26.589Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/matthewp/packages"}]}