{"id":"CVE-2020-11010","aliases":["EUVD-2020-0223","GHSA-9j2c-x8qm-qmjq","PYSEC-2020-144"],"status":"published","title":"SQL injection in Tortoise ORM","description":"In Tortoise ORM before versions 0.15.23 and 0.16.6, various forms of SQL injection have been found for MySQL and when filtering or doing mass-updates on char/text fields. SQLite \u0026 PostgreSQL are only affected when filtering with contains, starts_with, or ends_with filters (and their case-insensitive counterparts).","severity":{"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":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01056,"percentile":0.64706,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-89"],"published":"2020-04-20T21:31:23Z","modified":"2026-10-20T10:51:46Z","fixes":[{"ecosystem":"PyPI","package":"tortoise-orm","fixed_in":["0.15.23","0.16.6"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"tortoise-orm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.15.23"}]}]},{"source":"ghsa","ecosystem":"PyPI","package":"tortoise-orm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.16.0"},{"fixed":"0.16.6"}]}]},{"source":"osv","ecosystem":"PyPI","package":"tortoise-orm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.15.23"}]}],"versions":["0.1.0","0.1.1","0.1.2","0.1.3","0.10.0","0.10.1","0.10.10","0.10.11","0.10.2","0.10.3","0.10.4","0.10.5","0.10.6","0.10.7","0.10.8","0.10.9","0.11.0","0.11.1","0.11.10","0.11.11","0.11.12","0.11.13","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.11.7","0.11.8","0.11.9","0.12.0","0.12.1","0.12.2","0.12.3","0.12.4","0.12.5","0.12.6","0.12.7","0.12.8","0.13.0","0.13.1","0.13.10","0.13.11","0.13.12","0.13.2","0.13.3","0.13.4","0.13.5","0.13.6","0.13.7","0.13.8","0.13.9","0.14.0","0.14.1","0.14.2","0.15.0","0.15.1","0.15.10","0.15.11","0.15.12","0.15.13","0.15.14","0.15.15","0.15.16","0.15.17","0.15.18","0.15.19","0.15.2","0.15.20","0.15.21","0.15.22","0.15.3","0.15.4","0.15.5","0.15.6","0.15.7","0.15.8","0.15.9","0.2.0","0.3.0","0.3.1","0.3.2","0.3.3","0.4.0","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.6.0","0.6.1","0.6.2","0.7.0","0.7.1","0.7.10","0.7.2","0.7.3","0.7.4","0.7.5","0.7.6","0.7.7","0.7.8","0.7.9","0.8.0","0.8.1","0.8.2","0.9.0","0.9.1","0.9.2","0.9.4"]},{"source":"osv","ecosystem":"PyPI","package":"tortoise-orm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.16.0"},{"fixed":"0.16.6"}]}],"versions":["0.16.0","0.16.1","0.16.2","0.16.3","0.16.4","0.16.5"]},{"source":"osv","ecosystem":"PyPI","package":"tortoise-orm","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"91c364053e0ddf77edc5442914c6f049512678b3"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.15.23"},{"introduced":"0.16.0"},{"fixed":"0.16.6"}]}],"versions":["0.1.0","0.1.1","0.1.2","0.1.3","0.2.0","0.3.0","0.3.1","0.3.2","0.3.3","0.4.0","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.6.0","0.6.1","0.6.2","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.7.5","0.7.6","0.7.7","0.7.8","0.7.9","0.7.10","0.8.0","0.8.1","0.8.2","0.9.0","0.9.1","0.9.2","0.9.4","0.10.0","0.10.1","0.10.2","0.10.3","0.10.4","0.10.5","0.10.6","0.10.7","0.10.8","0.10.9","0.10.10","0.10.11","0.11.0","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.11.7","0.11.8","0.11.9","0.11.10","0.11.11","0.11.12","0.11.13","0.12.0","0.12.1","0.12.2","0.12.3","0.12.4","0.12.5","0.12.6","0.12.7","0.12.8","0.13.0","0.13.1","0.13.2","0.13.3","0.13.4","0.13.5","0.13.6","0.13.7","0.13.8","0.13.9","0.13.10","0.13.11","0.13.12","0.14.0","0.14.1","0.14.2","0.15.0","0.15.1","0.15.2","0.15.3","0.15.4","0.15.5","0.15.6","0.15.7","0.15.8","0.15.9","0.15.10","0.15.11","0.15.12","0.15.13","0.15.14","0.15.15","0.15.16","0.15.17","0.15.18","0.15.19","0.15.20","0.15.21","0.15.22","0.16.0","0.16.1","0.16.2","0.16.3","0.16.4","0.16.5"]}],"products":[{"vendor":"tortoise","product":"tortoise-orm"},{"vendor":"tortoise_orm_project","product":"tortoise_orm"}],"references":[{"url":"https://github.com/tortoise/tortoise-orm/security/advisories/GHSA-9j2c-x8qm-qmjq","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/tortoise/tortoise-orm/commit/91c364053e0ddf77edc5442914c6f049512678b3","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-11010","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/tortoise-orm/PYSEC-2020-144.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-9j2c-x8qm-qmjq"},{"url":"https://github.com/tortoise/tortoise-orm","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-11010","title":"SQL injection in Tortoise ORM","description":"In Tortoise ORM before versions 0.15.23 and 0.16.6, various forms of SQL injection have been found for MySQL and when filtering or doing mass-updates on char/text fields. SQLite \u0026 PostgreSQL are only affected when filtering with contains, starts_with, or ends_with filters (and their case-insensitive counterparts).","status":"published","published":"2020-04-20T21:50:13Z","modified":"2024-08-04T11:21:14.257Z","cvss":[{"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":"cna"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:35:57.67317Z"}],"euvd":[{"id":"EUVD-2020-0223","description":"In Tortoise ORM before versions 0.15.23 and 0.16.6, various forms of SQL injection have been found for MySQL and when filtering or doing mass-updates on char/text fields. SQLite \u0026 PostgreSQL are only affected when filtering with contains, starts_with, or ends_with filters (and their case-insensitive counterparts).","status":"published","published":"2020-04-20T21:50:13Z","modified":"2024-08-04T11:21:14Z","cvss":[{"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"}],"updated_at":"2026-11-03T03:07:48.471313Z"}],"ghsa":[{"id":"GHSA-9j2c-x8qm-qmjq","title":"SQL injection in Tortoise ORM","description":"### Impact\nVarious forms of SQL injection has been found, for MySQL and when filtering or doing mass-updates on char/text fields.\nSQLite \u0026 PostgreSQL was only affected when filtering with ``contains``, ``starts_with`` or ``ends_with`` filters (and their case-insensitive counterparts)\n\n\n### Patches\nPlease upgrade to 0.15.23+ or 0.16.6+\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [Github](https://github.com/tortoise/tortoise-orm/issues)\n* Chat to us on [Gitter](https://gitter.im/tortoise/community)","status":"published","published":"2020-04-20T21:31:23Z","modified":"2024-11-13T22:53:30Z","cvss":[{"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"},{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:38:18.163845Z"}],"nvd":[{"id":"CVE-2020-11010","description":"In Tortoise ORM before versions 0.15.23 and 0.16.6, various forms of SQL injection have been found for MySQL and when filtering or doing mass-updates on char/text fields. SQLite \u0026 PostgreSQL are only affected when filtering with contains, starts_with, or ends_with filters (and their case-insensitive counterparts).","status":"published","published":"2020-04-20T22:15:13.587Z","modified":"2026-06-17T02:48:51.157Z","cvss":[{"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":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:05:59.718774Z"}],"osv":[{"id":"CVE-2020-11010","description":"In Tortoise ORM before versions 0.15.23 and 0.16.6, various forms of SQL injection have been found for MySQL and when filtering or doing mass-updates on char/text fields. SQLite \u0026 PostgreSQL are only affected when filtering with contains, starts_with, or ends_with filters (and their case-insensitive counterparts).","status":"published","published":"2020-04-20T22:15:13.587Z","modified":"2026-10-20T10:51:46.643661657Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:13.492058Z"},{"id":"GHSA-9j2c-x8qm-qmjq","title":"SQL injection in Tortoise ORM","description":"### Impact\nVarious forms of SQL injection has been found, for MySQL and when filtering or doing mass-updates on char/text fields.\nSQLite \u0026 PostgreSQL was only affected when filtering with ``contains``, ``starts_with`` or ``ends_with`` filters (and their case-insensitive counterparts)\n\n\n### Patches\nPlease upgrade to 0.15.23+ or 0.16.6+\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [Github](https://github.com/tortoise/tortoise-orm/issues)\n* Chat to us on [Gitter](https://gitter.im/tortoise/community)","status":"published","published":"2020-04-20T21:31:23Z","modified":"2026-09-10T03:48:43.972863097Z","cvss":[{"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"},{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:43.875515Z"},{"id":"PYSEC-2020-144","description":"In Tortoise ORM before versions 0.15.23 and 0.16.6, various forms of SQL injection have been found for MySQL and when filtering or doing mass-updates on char/text fields. SQLite \u0026 PostgreSQL are only affected when filtering with contains, starts_with, or ends_with filters (and their case-insensitive counterparts).","status":"published","published":"2020-04-20T22:15:00Z","modified":"2023-11-08T04:02:03.112341Z","updated_at":"2026-11-02T15:52:52.192131Z"}]}}
