{"id":"CVE-2022-29188","aliases":["EUVD-2022-5049","GHSA-qwrf-gfpj-qvj6","GO-2022-0459"],"status":"published","title":"Smokescreen SSRF via deny list bypass (square brackets) in Smokescreen","description":"Smokescreen is an HTTP proxy. The primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure. Smokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). This only impacted the HTTP proxy functionality of Smokescreen. HTTPS requests were not impacted. Smokescreen version 0.0.4 contains a patch for this issue.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00869,"percentile":0.59073,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-918"],"published":"2022-05-20T23:50:10Z","modified":"2026-10-28T02:30:44Z","fixes":[{"ecosystem":"Go","package":"github.com/stripe/smokescreen","fixed_in":["0.0.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/stripe/smokescreen","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.0.4"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/stripe/smokescreen","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.4"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/stripe/smokescreen","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.4"}]}]}],"products":[{"vendor":"stripe","product":"smokescreen"}],"references":[{"url":"https://github.com/stripe/smokescreen/security/advisories/GHSA-qwrf-gfpj-qvj6","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/stripe/smokescreen/commit/dea7b3c89df000f4072ff9866d61d78e30df6a36","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-29188","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-qwrf-gfpj-qvj6"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/29xxx/CVE-2022-29188.json","tags":["advisory"]},{"url":"github.com/stripe/smokescreen","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-29188","title":"Smokescreen SSRF via deny list bypass (square brackets) in Smokescreen","description":"Smokescreen is an HTTP proxy. The primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure. Smokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). This only impacted the HTTP proxy functionality of Smokescreen. HTTPS requests were not impacted. Smokescreen version 0.0.4 contains a patch for this issue.","status":"published","published":"2022-05-20T23:50:10Z","modified":"2025-04-23T18:23:32.926Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:34:36.578327Z"}],"euvd":[{"id":"EUVD-2022-5049","description":"Smokescreen is an HTTP proxy. The primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure. Smokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). This only impacted the HTTP proxy functionality of Smokescreen. HTTPS requests were not impacted. Smokescreen version 0.0.4 contains a patch for this issue.","status":"published","published":"2022-05-20T23:50:10Z","modified":"2025-04-23T18:23:32Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:08.95736Z"}],"ghsa":[{"id":"GHSA-qwrf-gfpj-qvj6","title":"Smokescreen SSRF via deny list bypass (square brackets)","description":"### Impact\nThe primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure.\n\nSmokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). \n\n### Recommendation\nUpgrade Smokescreen to version 0.0.4 or later.\n\n### Acknowledgements\nThanks to [Axel Chong](https://github.com/haxatron) for reporting the issue.\n\n### For more information\nEmail us at security@stripe.com\n\n","status":"published","published":"2022-05-24T22:04:04Z","modified":"2023-01-27T05:03:02Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:36:20.144464Z"}],"nvd":[{"id":"CVE-2022-29188","description":"Smokescreen is an HTTP proxy. The primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure. Smokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). This only impacted the HTTP proxy functionality of Smokescreen. HTTPS requests were not impacted. Smokescreen version 0.0.4 contains a patch for this issue.","status":"published","published":"2022-05-21T00:15:11.323Z","modified":"2026-06-17T04:39:46.523Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":6.4,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:07:21.261605Z"}],"osv":[{"id":"CVE-2022-29188","title":"Smokescreen SSRF via deny list bypass (square brackets) in Smokescreen","description":"Smokescreen is an HTTP proxy. The primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure. Smokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). This only impacted the HTTP proxy functionality of Smokescreen. HTTPS requests were not impacted. Smokescreen version 0.0.4 contains a patch for this issue.","status":"published","published":"2022-05-20T23:50:10Z","modified":"2026-10-28T02:30:44.264210242Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T15:44:25.164673Z"},{"id":"GHSA-qwrf-gfpj-qvj6","title":"Smokescreen SSRF via deny list bypass (square brackets)","description":"### Impact\nThe primary use case for Smokescreen is to prevent server-side request forgery (SSRF) attacks in which external attackers leverage the behavior of applications to connect to or scan internal infrastructure.\n\nSmokescreen also offers an option to deny access to additional (e.g., external) URLs by way of a deny list. There was an issue in Smokescreen that made it possible to bypass the deny list feature by surrounding the hostname with square brackets (e.g. `[example.com]`). \n\n### Recommendation\nUpgrade Smokescreen to version 0.0.4 or later.\n\n### Acknowledgements\nThanks to [Axel Chong](https://github.com/haxatron) for reporting the issue.\n\n### For more information\nEmail us at security@stripe.com\n\n","status":"published","published":"2022-05-24T22:04:04Z","modified":"2024-08-21T15:42:04.143898Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T15:46:55.122811Z"},{"id":"GO-2022-0459","title":"Smokescreen SSRF via deny list bypass (square brackets) in github.com/stripe/smokescreen","description":"Smokescreen SSRF via deny list bypass (square brackets) in github.com/stripe/smokescreen","status":"published","published":"2024-08-21T15:11:33Z","modified":"2026-03-03T04:50:24.803579Z","updated_at":"2026-11-02T15:47:00.918515Z"}]}}
