{"id":"CVE-2016-8640","aliases":["DEBIAN-CVE-2016-8640","EUVD-2018-0121","GHSA-hg4c-rgvm-964g","PYSEC-2018-98","UBUNTU-CVE-2016-8640"],"status":"published","title":"SQL Injection in pycsw","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","severity":{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.02306,"percentile":0.83463,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-89"],"published":"2018-08-01T18:00:00Z","modified":"2026-10-20T10:47:30Z","fixes":[{"ecosystem":"PyPI","package":"pycsw","fixed_in":["1.8.6","1.10.5","2.0.2"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"pycsw","fixed_in":["2.0.2+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"pycsw","fixed_in":["2.0.2+dfsg-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"pycsw","fixed_in":["2.0.2+dfsg-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.6"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.10.0"},{"fixed":"1.10.5"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.0.2"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.2+dfsg-1"}]}],"versions":["1.10.0+dfsg-1","1.10.1+dfsg-1","1.10.1+dfsg-2","1.10.4+dfsg-1","1.10.4+dfsg-2","2.0.0+dfsg-1","2.0.0+dfsg-1~exp1","2.0.0+dfsg-1~exp2","2.0.0+dfsg-1~exp3","2.0.0~rc1+dfsg-1~exp1","2.0.0~rc1+dfsg-1~exp2","2.0.1+dfsg-1"]},{"source":"osv","ecosystem":"Debian:13","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.2+dfsg-1"}]}],"versions":["1.10.0+dfsg-1","1.10.1+dfsg-1","1.10.1+dfsg-2","1.10.4+dfsg-1","1.10.4+dfsg-2","2.0.0+dfsg-1","2.0.0+dfsg-1~exp1","2.0.0+dfsg-1~exp2","2.0.0+dfsg-1~exp3","2.0.0~rc1+dfsg-1~exp1","2.0.0~rc1+dfsg-1~exp2","2.0.1+dfsg-1"]},{"source":"osv","ecosystem":"Debian:14","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.2+dfsg-1"}]}],"versions":["1.10.0+dfsg-1","1.10.1+dfsg-1","1.10.1+dfsg-2","1.10.4+dfsg-1","1.10.4+dfsg-2","2.0.0+dfsg-1","2.0.0+dfsg-1~exp1","2.0.0+dfsg-1~exp2","2.0.0+dfsg-1~exp3","2.0.0~rc1+dfsg-1~exp1","2.0.0~rc1+dfsg-1~exp2","2.0.1+dfsg-1"]},{"source":"osv","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.0.2"}]}],"versions":["2.0.0","2.0.1"]},{"source":"osv","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.6"}]}],"versions":["1.4.0","1.4.1","1.4.2","1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.8.0","1.8.1","1.8.2","1.8.3","1.8.4","1.8.5"]},{"source":"osv","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.10.0"},{"fixed":"1.10.5"}]}],"versions":["1.10.0","1.10.1","1.10.2","1.10.3","1.10.4"]},{"source":"osv","ecosystem":"PyPI","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.6"},{"introduced":"1.10.0"},{"fixed":"1.10.5"},{"introduced":"2.0.0"},{"fixed":"2.0.2"}]}],"versions":["1.10.0","1.10.1","1.10.2","1.10.3","1.10.4","1.4.0","1.4.1","1.4.2","1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.8.0","1.8.1","1.8.2","1.8.3","1.8.4","1.8.5","2.0.0","2.0.1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"pycsw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.1+dfsg-2"]}],"products":[{"vendor":"https://github.com/geopython","product":"pycsw"},{"vendor":"pycsw","product":"pycsw"}],"references":[{"url":"http://www.securityfocus.com/bid/94302","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"https://github.com/geopython/pycsw/pull/474/files","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"http://seclists.org/oss-sec/2016/q4/406","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Patch","Third Party Advisory","fix","web"]},{"url":"https://patch-diff.githubusercontent.com/raw/geopython/pycsw/pull/474.patch","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-8640","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hg4c-rgvm-964g","tags":["advisory"]},{"url":"https://github.com/geopython/pycsw/commit/522873e5ce48bb9cbd4e7e8168ca881ce709c222","tags":["web"]},{"url":"https://github.com/geopython/pycsw/commit/69546e13527c82e4f9191769215490381ad511b2","tags":["web"]},{"url":"https://github.com/geopython/pycsw/commit/daaf09b4b920708a415be3c7f446739661ba3753","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/pycsw/PYSEC-2018-98.yaml","tags":["web"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2016-8640","tags":["advisory"]},{"url":"https://github.com/geopython/pycsw","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2016-8640","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-8640","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2016-8640","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:00:00Z","modified":"2024-09-17T00:31:15.28Z","cwes":["CWE-89"],"updated_at":"2026-11-02T14:33:32.724067Z"}],"euvd":[{"id":"EUVD-2018-0121","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:00:00Z","modified":"2024-09-17T00:31:15Z","updated_at":"2026-11-03T00:28:58.42254Z"}],"ghsa":[{"id":"GHSA-hg4c-rgvm-964g","title":"SQL Injection in pycsw","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-15T20:02:53Z","modified":"2024-10-21T20:20:56Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","level":"critical"},{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:38:12.325695Z"}],"nvd":[{"id":"CVE-2016-8640","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:29:00.22Z","modified":"2026-06-17T00:54:39.86Z","cvss":[{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:03:39.621168Z"}],"osv":[{"id":"CVE-2016-8640","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:29:00.22Z","modified":"2026-10-20T10:47:30.04836718Z","cvss":[{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T15:44:03.171316Z"},{"id":"DEBIAN-CVE-2016-8640","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:29:00.22Z","modified":"2026-09-22T07:02:36.127923325Z","cvss":[{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T15:45:27.910042Z"},{"id":"GHSA-hg4c-rgvm-964g","title":"SQL Injection in pycsw","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-15T20:02:53Z","modified":"2026-06-09T13:00:02Z","cvss":[{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:48.920784Z"},{"id":"UBUNTU-CVE-2016-8640","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:29:00Z","modified":"2025-10-24T04:45:56Z","cvss":[{"version":"3.0","score":9.1,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T15:54:12.994319Z"},{"id":"PYSEC-2018-98","description":"A SQL injection vulnerability in pycsw all versions before 2.0.2, 1.10.5 and 1.8.6 that leads to read and extract of any data from any table in the pycsw database that the database user has access to. Also on PostgreSQL (at least) it is possible to perform updates/inserts/deletes and database modifications to any table the database user has access to.","status":"published","published":"2018-08-01T18:29:00Z","modified":"2026-06-08T11:15:04.238169387Z","updated_at":"2026-11-02T15:52:52.192131Z"}]}}
