{"id":"CVE-2026-53944","aliases":["BIT-ghost-2026-53944","EUVD-2026-39025","GHSA-wvp2-4qqp-4h3r"],"status":"published","title":"Ghost: Private IP filtering bypass to make server-side requests to internal services","description":"Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.","severity":{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00329,"percentile":0.26354,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-184","CWE-918"],"published":"2026-06-24T18:10:30Z","modified":"2026-10-28T02:31:03Z","fixes":[{"ecosystem":"npm","package":"ghost","fixed_in":["6.21.1"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"ghost","fixed_in":["6.21.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"ghost","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.9"},{"last_affected":"6.21.0"},{"fixed":"6.21.1"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"ghost","ranges":[{"type":"SEMVER","events":[{"introduced":"6.0.9"},{"fixed":"6.21.1"}]}]},{"source":"osv","ecosystem":"npm","package":"ghost","ranges":[{"type":"SEMVER","events":[{"introduced":"6.0.9"},{"fixed":"6.21.1"}]}]}],"products":[{"vendor":"tryghost","product":"ghost"}],"references":[{"url":"https://github.com/TryGhost/Ghost/security/advisories/GHSA-wvp2-4qqp-4h3r","tags":["x_refsource_CONFIRM","web","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53944","tags":["web","advisory"]},{"url":"https://github.com/TryGhost/Ghost/pull/26749","tags":["web"]},{"url":"https://github.com/TryGhost/Ghost/commit/9b7f2212970fade08ecbec543b405190471e38d4","tags":["web"]},{"url":"https://github.com/TryGhost/Ghost/releases/tag/v6.21.1","tags":["web"]},{"url":"https://github.com/advisories/GHSA-wvp2-4qqp-4h3r"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53944.json","tags":["advisory"]},{"url":"https://github.com/TryGhost/Ghost","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-53944","title":"Ghost: Private IP filtering bypass to make server-side requests to internal services","description":"Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.","status":"published","published":"2026-06-24T18:10:30.985Z","modified":"2026-06-24T18:50:17.772Z","cvss":[{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-184","CWE-918"],"updated_at":"2026-11-02T14:19:59.761005Z"}],"euvd":[{"id":"EUVD-2026-39025","description":"Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.","status":"published","published":"2026-06-24T18:10:30Z","modified":"2026-06-24T18:50:17Z","cvss":[{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T18:20:30.242414Z"}],"ghsa":[{"id":"GHSA-wvp2-4qqp-4h3r","title":"Ghost: Private IP filtering bypass to make server-side requests to internal services","description":"### Impact\n\nWhen making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address.\n\n### Vulnerable versions\n\nThis vulnerability is present in Ghost from v6.0.9 up to v6.21.0.\n\n### Patches\n\nv6.21.1 contains a fix for this issue.\n\n### How to update\n\nFor self-hosters using Docker, find [Docker's official Ghost image here](https://hub.docker.com/_/ghost). Updating a Docker-based Ghost instance [is documented here](https://docs.ghost.org/install/docker#updating-ghost). \n\nIf your Ghost is a Ghost-CLI install see our documentation on [updating it to the latest version here](https://docs.ghost.org/update). \n\n### References\n\nGhost thanks [l3tchupkt](http://github.com/l3tchupkt) for disclosing this vulnerability responsibly.\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at [security@ghost.org](mailto:security@ghost.org).","status":"published","published":"2026-08-04T21:13:16Z","modified":"2026-08-04T21:13:17Z","cvss":[{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-184","CWE-918"],"updated_at":"2026-11-02T14:40:56.852119Z"}],"nvd":[{"id":"CVE-2026-53944","description":"Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.","status":"published","published":"2026-06-24T19:17:11.957Z","modified":"2026-10-25T22:10:00.15Z","cvss":[{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-184","CWE-918"],"updated_at":"2026-11-02T14:12:25.67873Z"}],"osv":[{"id":"CVE-2026-53944","title":"Ghost: Private IP filtering bypass to make server-side requests to internal services","description":"Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.","status":"published","published":"2026-06-24T18:10:30.985Z","modified":"2026-10-28T02:31:03.13482989Z","cvss":[{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-184","CWE-918"],"updated_at":"2026-11-02T15:45:08.132336Z"},{"id":"GHSA-wvp2-4qqp-4h3r","title":"Ghost: Private IP filtering bypass to make server-side requests to internal services","description":"### Impact\n\nWhen making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address.\n\n### Vulnerable versions\n\nThis vulnerability is present in Ghost from v6.0.9 up to v6.21.0.\n\n### Patches\n\nv6.21.1 contains a fix for this issue.\n\n### How to update\n\nFor self-hosters using Docker, find [Docker's official Ghost image here](https://hub.docker.com/_/ghost). Updating a Docker-based Ghost instance [is documented here](https://docs.ghost.org/install/docker#updating-ghost). \n\nIf your Ghost is a Ghost-CLI install see our documentation on [updating it to the latest version here](https://docs.ghost.org/update). \n\n### References\n\nGhost thanks [l3tchupkt](http://github.com/l3tchupkt) for disclosing this vulnerability responsibly.\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at [security@ghost.org](mailto:security@ghost.org).","status":"published","published":"2026-08-04T21:13:16Z","modified":"2026-08-04T21:30:19.858634695Z","cvss":[{"version":"3.1","score":5.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-184","CWE-918"],"updated_at":"2026-11-02T15:46:59.131095Z"},{"id":"BIT-ghost-2026-53944","title":"Ghost: Private IP filtering bypass to make server-side requests to internal services","description":"Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.","status":"published","published":"2026-06-30T23:39:18.559Z","modified":"2026-07-08T08:26:15.470956789Z","updated_at":"2026-11-02T15:28:29.999658Z"}]}}
