{"id":"CVE-2024-41962","aliases":["EUVD-2024-2502","GHSA-5cf7-cxrf-mq73"],"status":"published","title":"Bostr Improper Authorization","description":"Bostr is an nostr relay aggregator proxy that acts like a regular nostr relay. bostr let everyone in even having authorized_keys being set when noscraper is set to true. This vulnerability is fixed in 3.0.10.","severity":{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00297,"percentile":0.22598,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-285"],"published":"2024-08-01T16:30:57Z","modified":"2026-10-28T02:30:30Z","fixes":[{"ecosystem":"npm","package":"bostr","fixed_in":["3.0.10"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"bostr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.0.10"}]}]},{"source":"osv","ecosystem":"npm","package":"bostr","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.0.10"}]}]}],"products":[{"vendor":"yonle","product":"bostr"}],"references":[{"url":"https://github.com/Yonle/bostr/security/advisories/GHSA-5cf7-cxrf-mq73","tags":["x_refsource_CONFIRM","Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://github.com/Yonle/bostr/commit/49181f4ec9ae1472c6675cab56bbc01e723855af","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/Yonle/bostr/blob/8665374a66e2afb9f92d0414b0d6f420a95d5d2d/auth.js#L21","tags":["x_refsource_MISC","Product","web"]},{"url":"https://github.com/Yonle/bostr/releases/tag/3.0.10","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-41962","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-5cf7-cxrf-mq73"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41962.json","tags":["advisory"]},{"url":"https://github.com/Yonle/bostr","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-41962","title":"Bostr Improper Authorization","description":"Bostr is an nostr relay aggregator proxy that acts like a regular nostr relay. bostr let everyone in even having authorized_keys being set when noscraper is set to true. This vulnerability is fixed in 3.0.10.","status":"published","published":"2024-08-01T16:30:57.629Z","modified":"2024-08-01T17:45:32.389Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T14:34:03.661584Z"}],"euvd":[{"id":"EUVD-2024-2502","description":"Bostr is an nostr relay aggregator proxy that acts like a regular nostr relay. bostr let everyone in even having authorized_keys being set when noscraper is set to true. This vulnerability is fixed in 3.0.10.","status":"published","published":"2024-08-01T16:30:57Z","modified":"2024-08-01T17:45:32Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium"}],"updated_at":"2026-11-03T03:50:41.523881Z"}],"ghsa":[{"id":"GHSA-5cf7-cxrf-mq73","title":"Bostr Improper Authorization vulnerability","description":"Even with `authorized_keys` is filled with allowed pubkeys, If `noscraper` is enabled, It will allow anyone to use bouncer even it's pubkey is not in `authorized_keys`.\n\n### Impact\n- Private bouncer\n\n### Patches\nAvailable on version [3.0.10](https://github.com/Yonle/bostr/releases/tag/3.0.10)\n\n### Workarounds\nDisable `noscraper` if you have `authorized_keys` being set in config\n\n### References\nThis [line of code](https://github.com/Yonle/bostr/blob/8665374a66e2afb9f92d0414b0d6f420a95d5d2d/auth.js#L21) is the cause.","status":"published","published":"2024-08-02T01:20:13Z","modified":"2024-08-02T16:02:11Z","cvss":[{"version":"4.0","score":5.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T14:37:57.422393Z"}],"nvd":[{"id":"CVE-2024-41962","description":"Bostr is an nostr relay aggregator proxy that acts like a regular nostr relay. bostr let everyone in even having authorized_keys being set when noscraper is set to true. This vulnerability is fixed in 3.0.10.","status":"published","published":"2024-08-01T17:16:09.507Z","modified":"2026-06-17T07:48:32.143Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","level":"medium","assessor":"primary"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T14:10:15.933769Z"}],"osv":[{"id":"CVE-2024-41962","title":"Bostr Improper Authorization","description":"Bostr is an nostr relay aggregator proxy that acts like a regular nostr relay. bostr let everyone in even having authorized_keys being set when noscraper is set to true. This vulnerability is fixed in 3.0.10.","status":"published","published":"2024-08-01T16:30:57.629Z","modified":"2026-10-28T02:30:30.349352552Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T15:44:41.963899Z"},{"id":"GHSA-5cf7-cxrf-mq73","title":"Bostr Improper Authorization vulnerability","description":"Even with `authorized_keys` is filled with allowed pubkeys, If `noscraper` is enabled, It will allow anyone to use bouncer even it's pubkey is not in `authorized_keys`.\n\n### Impact\n- Private bouncer\n\n### Patches\nAvailable on version [3.0.10](https://github.com/Yonle/bostr/releases/tag/3.0.10)\n\n### Workarounds\nDisable `noscraper` if you have `authorized_keys` being set in config\n\n### References\nThis [line of code](https://github.com/Yonle/bostr/blob/8665374a66e2afb9f92d0414b0d6f420a95d5d2d/auth.js#L21) is the cause.","status":"published","published":"2024-08-02T01:20:13Z","modified":"2024-08-02T16:02:10Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L","level":"medium"},{"version":"4.0","score":5.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-285"],"updated_at":"2026-11-02T15:46:38.213481Z"}]}}
