{"id":"CVE-2023-25330","aliases":["EUVD-2023-1166","GHSA-32qq-m9fh-f74w","OESA-2023-1996","OESA-2023-1997","OESA-2023-1998"],"status":"disputed","title":"MyBatis-Plus vulnerable to SQL injection via TenantPlugin","description":"A SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer. NOTE: the vendor's position is that this can only occur in a misconfigured application; the documentation discusses how to develop applications that avoid SQL injection.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.0121,"percentile":0.68695,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-89"],"published":"2023-04-05T00:00:00Z","modified":"2026-08-18T01:18:07Z","fixes":[{"ecosystem":"Maven","package":"com.baomidou:mybatis-plus","fixed_in":["3.5.3.1"],"sources":["ghsa","osv"]},{"ecosystem":"openEuler:20.03-LTS-SP1","package":"mybatis","fixed_in":["3.5.8-1.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP3","package":"mybatis","fixed_in":["3.5.8-1.oe1"],"sources":["osv"]},{"ecosystem":"openEuler:20.03-LTS-SP4","package":"mybatis","fixed_in":["3.5.8-1.oe2003sp4"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"com.baomidou:mybatis-plus","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.3.1"}]}]},{"source":"osv","ecosystem":"Maven","package":"com.baomidou:mybatis-plus","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.3.1"}]}],"versions":["1.0","1.1","1.2","1.2.1","1.2.10","1.2.11","1.2.12","1.2.13","1.2.14","1.2.15","1.2.16","1.2.17","1.2.18","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.8","1.2.9","1.3.0","1.3.1","1.3.10","1.3.11","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.3.8","1.3.9","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","1.4.9","1.5","2.0","2.0-beta","2.0-rc","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.6-jdk8","2.0.7","2.0.8","2.0.9","2.1-beta","2.1-gamma","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2.0","2.3","2.3.1","2.3.2","2.3.3","3.0-RC","3.0-RC1","3.0-RC2","3.0-RC3","3.0-RELEASE","3.0-alpha","3.0-beta","3.0-gamma","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.7.1","3.1.0","3.1.1","3.1.2","3.2.0","3.3.0","3.3.1","3.3.1.tmp","3.3.2","3.4.0","3.4.1","3.4.2","3.4.3","3.4.3.1","3.4.3.2","3.4.3.3","3.4.3.4","3.5.0","3.5.1","3.5.2","3.5.3"]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP1","package":"mybatis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.8-1.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP3","package":"mybatis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.8-1.oe1"}]}]},{"source":"osv","ecosystem":"openEuler:20.03-LTS-SP4","package":"mybatis","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.8-1.oe2003sp4"}]}]}],"products":[{"vendor":"mybatis","product":"mybatis"}],"references":[{"url":"https://github.com/FCncdn/MybatisPlusTenantPluginSQLInjection-POC/blob/master/Readme.en.md","tags":["x_transferred","Exploit","Third Party Advisory","web"]},{"url":"https://baomidou.com/reference/about-cve/","tags":["x_transferred"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-25330","tags":["advisory"]},{"url":"https://baomidou.com/reference/about-cve","tags":["web"]},{"url":"https://github.com/advisories/GHSA-32qq-m9fh-f74w"},{"url":"https://github.com/baomidou/mybatis-plus","tags":["package"]},{"url":"https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1996","tags":["advisory"]},{"url":"https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1997","tags":["advisory"]},{"url":"https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1998","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2023-25330","description":"A SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer. NOTE: the vendor's position is that this can only occur in a misconfigured application; the documentation discusses how to develop applications that avoid SQL injection.","status":"disputed","published":"2023-04-05T00:00:00Z","modified":"2024-08-02T11:18:36.292Z","updated_at":"2026-11-02T14:35:19.559321Z"}],"euvd":[{"id":"EUVD-2023-1166","description":"A SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer. NOTE: the vendor's position is that this can only occur in a misconfigured application; the documentation discusses how to develop applications that avoid SQL injection.","status":"published","published":"2023-04-05T00:00:00Z","modified":"2024-08-02T11:18:36Z","updated_at":"2026-11-03T03:50:07.32318Z"}],"ghsa":[{"id":"GHSA-32qq-m9fh-f74w","title":"MyBatis-Plus vulnerable to SQL injection via TenantPlugin","description":"MyBatis-Plus below 3.5.3.1 is vulnerable to SQL injection via the tenant ID value. This may allow remote attackers to execute arbitrary SQL commands.","status":"published","published":"2023-04-05T15:30:24Z","modified":"2024-06-03T18:37:09Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:37:53.025064Z"}],"nvd":[{"id":"CVE-2023-25330","description":"A SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer. NOTE: the vendor's position is that this can only occur in a misconfigured application; the documentation discusses how to develop applications that avoid SQL injection.","status":"disputed","published":"2023-04-05T14:15:07.48Z","modified":"2026-06-17T05:41:06.213Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:07:53.719171Z"}],"osv":[{"id":"GHSA-32qq-m9fh-f74w","title":"MyBatis-Plus vulnerable to SQL injection via TenantPlugin","description":"MyBatis-Plus below 3.5.3.1 is vulnerable to SQL injection via the tenant ID value. This may allow remote attackers to execute arbitrary SQL commands.","status":"published","published":"2023-04-05T15:30:24Z","modified":"2024-06-03T18:48:01.61578Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:46:35.050232Z"},{"id":"OESA-2023-1996","title":"mybatis security update","description":"The MyBatis data mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedures or SQL statements using a XML descriptor or annotations. Simplicity is the biggest advantage of the MyBatis data mapper over object relational mapping tools. To use the MyBatis data mapper, you rely on your own objects, XML, and SQL. There is little to learn that you don\u0026apos;t already know. With the MyBatis data mapper, you have the full power of both SQL and stored procedures at your fingertips. The MyBatis project is developed and maintained by a team that includes the original creators of the \u0026quot;iBATIS\u0026quot; data mapper. The Apache project was retired and continued here.\r\n\r\nSecurity Fix(es):\r\n\r\nA SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer.(CVE-2023-25330)","status":"published","published":"2023-12-29T11:06:26Z","modified":"2026-08-18T01:18:07.342354303Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:40.71472Z"},{"id":"OESA-2023-1997","title":"mybatis security update","description":"The MyBatis data mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedures or SQL statements using a XML descriptor or annotations. Simplicity is the biggest advantage of the MyBatis data mapper over object relational mapping tools. To use the MyBatis data mapper, you rely on your own objects, XML, and SQL. There is little to learn that you don\u0026apos;t already know. With the MyBatis data mapper, you have the full power of both SQL and stored procedures at your fingertips. The MyBatis project is developed and maintained by a team that includes the original creators of the \u0026quot;iBATIS\u0026quot; data mapper. The Apache project was retired and continued here.\r\n\r\nSecurity Fix(es):\r\n\r\nA SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer.(CVE-2023-25330)","status":"published","published":"2023-12-29T11:06:26Z","modified":"2026-08-18T01:18:07.345581842Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:40.71472Z"},{"id":"OESA-2023-1998","title":"mybatis security update","description":"The MyBatis data mapper framework makes it easier to use a relational database with object-oriented applications. MyBatis couples objects with stored procedures or SQL statements using a XML descriptor or annotations. Simplicity is the biggest advantage of the MyBatis data mapper over object relational mapping tools. To use the MyBatis data mapper, you rely on your own objects, XML, and SQL. There is little to learn that you don\u0026apos;t already know. With the MyBatis data mapper, you have the full power of both SQL and stored procedures at your fingertips. The MyBatis project is developed and maintained by a team that includes the original creators of the \u0026quot;iBATIS\u0026quot; data mapper. The Apache project was retired and continued here.\r\n\r\nSecurity Fix(es):\r\n\r\nA SQL injection vulnerability in Mybatis plus below 3.5.3.1 allows remote attackers to execute arbitrary SQL commands via the tenant ID valuer.(CVE-2023-25330)","status":"published","published":"2023-12-29T11:06:26Z","modified":"2026-08-18T01:18:07.433773997Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:40.71472Z"}]}}
