Skip to content

Datasette 1.0 alpha series leaks names of databases and tables to unauthenticated users

Low
simonw published GHSA-7ch3-7pp7-7cpq Aug 22, 2023

Package

pip datasette (pip)

Affected versions

1.0a0, 1.0a1, 1.0a2, 1.0a3

Patched versions

1.0a4

Description

Impact

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.

Patches

Datasette 1.0a4 has a fix for this issue.

Workarounds

To 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 plugin and adding the following configuration to your metadata.json or metadata.yml file:

{
    "plugins": {
        "datasette-block": {
            "prefixes": ["/-/api"]
        }
    }
}

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.

Severity

Low

CVE ID

CVE-2023-40570

Weaknesses

No CWEs