{"id":"CVE-2023-40570","aliases":["EUVD-2023-0061","GHSA-7ch3-7pp7-7cpq","PYSEC-2023-154"],"status":"published","title":"Datasette 1.0 alpha series leaks names of databases and tables to unauthenticated users","description":"Datasette is an open source multi-tool for exploring and publishing data. This bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as datasette-auth-passwords. The `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user. Datasette 1.0a4 has a fix for this issue. This will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy. This issue is patched in version 1.0a4.","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-12","score":0.00555,"percentile":0.46787,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200","CWE-213"],"published":"2023-08-22T18:06:46Z","modified":"2026-10-28T02:31:15Z","fixes":[{"ecosystem":"PyPI","package":"datasette","fixed_in":["1.0a4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"datasette","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0a0"},{"fixed":"1.0a4"}]}]},{"source":"osv","ecosystem":"PyPI","package":"datasette","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0a0"},{"fixed":"1.0a4"}]}],"versions":["1.0a0","1.0a1","1.0a2","1.0a3"]},{"source":"osv","ecosystem":"PyPI","package":"datasette","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"01e0558825b8f7ec17d3b691aa072daf122fcc74"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10","0.11","0.12","0.13","0.14","0.15","0.16","0.17","0.18","0.19","0.20","0.21","0.22","0.22.1","0.23","0.23.1","0.23.2","0.24","0.25","0.25.1","0.25.2","0.26","0.26.1","0.26.2","0.27","0.27.1","0.28","0.29","0.29.1","0.29.2","0.29.3","0.30","0.30.1","0.30.2","0.31","0.31.1","0.31.2","0.32","0.33","0.34","0.35","0.36","0.37","0.37.1","0.38","0.39","0.40","0.41","0.42","0.43","0.44","0.45","0.45a0","0.45a1","0.45a2","0.45a3","0.45a4","0.45a5","0.46","0.47","0.47.1","0.47.2","0.47.3","0.48","0.49","0.49.1","0.49a0","0.49a1","0.50","0.50.1","0.50.2","0.50a0","0.50a1","0.51","0.51.1","0.51a0","0.51a1","0.51a2","0.52","0.52.1","0.52.2","0.52.3","0.52.4","0.52.5","0.53","0.54","0.54.1","0.54a0","0.55","0.56","0.56.1","0.57","0.57.1","0.57a0","0.57a1","0.58","0.58.1","0.58a0","0.58a1","0.59","0.59.1","0.59.2","0.59.3","0.59.4","0.59a0","0.59a1","0.59a2","0.60","0.60.1","0.60.2","0.60a0","0.60a1","0.61","0.61.1","0.61a0","0.62","0.62a0","0.62a1","0.63","0.63.1","0.63.2","0.63.3","0.63a0","0.63a1","0.64","0.64.1","0.64.2","0.64.3","0.8","0.9","1.0a0","1.0a1","1.0a2","1.0a3","1.0a4","1.0a5","1.0a6","0.64.4","1.0a7","0.64.5","0.64.6","0.64.7","0.64.8","0.65","0.65.1","1.0a10","1.0a11","1.0a12","1.0a13","1.0a14","1.0a15","1.0a16","1.0a17","1.0a18","1.0a19","1.0a8","1.0a9"]}],"products":[{"vendor":"datasette","product":"datasette"},{"vendor":"simonw","product":"datasette"}],"references":[{"url":"https://github.com/simonw/datasette/security/advisories/GHSA-7ch3-7pp7-7cpq","tags":["x_refsource_CONFIRM","x_transferred","Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://github.com/simonw/datasette/commit/01e0558825b8f7ec17d3b691aa072daf122fcc74","tags":["x_refsource_MISC","x_transferred","Patch","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-40570","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/datasette/PYSEC-2023-154.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-7ch3-7pp7-7cpq"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/40xxx/CVE-2023-40570.json","tags":["advisory"]},{"url":"https://github.com/simonw/datasette","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-40570","title":"Datasette 1.0 alpha series leaks names of databases and tables to unauthenticated users","description":"Datasette is an open source multi-tool for exploring and publishing data. This bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as datasette-auth-passwords. The `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user. Datasette 1.0a4 has a fix for this issue. This will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy. This issue is patched in version 1.0a4.","status":"published","published":"2023-08-25T00:18:09.134Z","modified":"2024-10-02T17:46:58.427Z","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-213"],"updated_at":"2026-11-02T14:35:21.612665Z"}],"euvd":[{"id":"EUVD-2023-0061","description":"Datasette is an open source multi-tool for exploring and publishing data. This bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as datasette-auth-passwords. The `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user. Datasette 1.0a4 has a fix for this issue. This will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy. This issue is patched in version 1.0a4.","status":"published","published":"2023-08-25T00:18:09Z","modified":"2024-10-02T17:46:58Z","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-03T00:27:57.212945Z"}],"ghsa":[{"id":"GHSA-7ch3-7pp7-7cpq","title":"Datasette 1.0 alpha series leaks names of databases and tables to unauthenticated users","description":"### Impact\n\nThis bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as [datasette-auth-passwords](https://datasette.io/plugins/datasette-auth-passwords).\n\nThe `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user.\n\n### Patches\n\nDatasette 1.0a4 has a fix for this issue.\n\n### Workarounds\n\nTo work around this issue, block all traffic to the `/-/api` endpoint. This can be done with a proxy such as Apache or NGINX, or by installing the [datasette-block](https://datasette.io/plugins/datasette-block) plugin and adding the following configuration to your `metadata.json` or `metadata.yml` file:\n\n```json\n{\n    \"plugins\": {\n        \"datasette-block\": {\n            \"prefixes\": [\"/-/api\"]\n        }\n    }\n}\n```\nThis will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy.","status":"published","published":"2023-08-22T18:06:46Z","modified":"2023-11-08T05:00:54Z","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-200","CWE-213"],"updated_at":"2026-11-02T14:37:16.721714Z"}],"nvd":[{"id":"CVE-2023-40570","description":"Datasette is an open source multi-tool for exploring and publishing data. This bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as datasette-auth-passwords. The `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user. Datasette 1.0a4 has a fix for this issue. This will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy. This issue is patched in version 1.0a4.","status":"published","published":"2023-08-25T01:15:09.077Z","modified":"2026-06-17T06:18:30.55Z","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":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":"primary"}],"cwes":["CWE-213"],"updated_at":"2026-11-02T14:08:25.025396Z"}],"osv":[{"id":"CVE-2023-40570","title":"Datasette 1.0 alpha series leaks names of databases and tables to unauthenticated users","description":"Datasette is an open source multi-tool for exploring and publishing data. This bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as datasette-auth-passwords. The `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user. Datasette 1.0a4 has a fix for this issue. This will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy. This issue is patched in version 1.0a4.","status":"published","published":"2023-08-25T00:18:09.134Z","modified":"2026-10-28T02:31:15.023078564Z","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-213"],"updated_at":"2026-11-02T15:44:33.244128Z"},{"id":"GHSA-7ch3-7pp7-7cpq","title":"Datasette 1.0 alpha series leaks names of databases and tables to unauthenticated users","description":"### Impact\n\nThis bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as [datasette-auth-passwords](https://datasette.io/plugins/datasette-auth-passwords).\n\nThe `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user.\n\n### Patches\n\nDatasette 1.0a4 has a fix for this issue.\n\n### Workarounds\n\nTo work around this issue, block all traffic to the `/-/api` endpoint. This can be done with a proxy such as Apache or NGINX, or by installing the [datasette-block](https://datasette.io/plugins/datasette-block) plugin and adding the following configuration to your `metadata.json` or `metadata.yml` file:\n\n```json\n{\n    \"plugins\": {\n        \"datasette-block\": {\n            \"prefixes\": [\"/-/api\"]\n        }\n    }\n}\n```\nThis will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy.","status":"published","published":"2023-08-22T18:06:46Z","modified":"2026-06-09T13:30:22.43562739Z","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-200","CWE-213"],"updated_at":"2026-11-02T15:46:41.002603Z"},{"id":"PYSEC-2023-154","description":"Datasette is an open source multi-tool for exploring and publishing data. This bug affects Datasette instances running a Datasette 1.0 alpha - 1.0a0, 1.0a1, 1.0a2 or 1.0a3 - in an online accessible location but with authentication enabled using a plugin such as datasette-auth-passwords. The `/-/api` API explorer endpoint could reveal the names of both databases and tables - but not their contents - to an unauthenticated user. Datasette 1.0a4 has a fix for this issue. This will block access to the API explorer but will still allow access to the Datasette read or write JSON APIs, as those use different URL patterns within the Datasette `/database` hierarchy. This issue is patched in version 1.0a4.","status":"published","published":"2023-08-25T01:15:00Z","modified":"2025-10-09T08:24:24.812087Z","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-02T15:52:53.837392Z"}]}}
