{"id":"CVE-2026-7045","summary":"baomidou dynamic-datasource StandardEvaluationContext/SpelExpressionParser DsSpelExpressionProcessor.java DsSpelExpressionProcessor#doDetermineDatasource injection","details":"A vulnerability was determined in baomidou dynamic-datasource 2.5.0. Affected by this vulnerability is the function DsSpelExpressionProcessor#doDetermineDatasource of the file dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/processor/DsSpelExpressionProcessor.java of the component StandardEvaluationContext/SpelExpressionParser. This manipulation causes injection. The attack may be initiated remotely. Patch name: 273fcedaee984c08197c0890f14190b86ab7e0b8. It is recommended to apply a patch to fix this issue.","aliases":["GHSA-6rmm-pg23-5f8q"],"modified":"2026-07-22T03:09:01.694190Z","published":"2026-04-26T13:45:15.529Z","database_specific":{"cna_assigner":"VulDB","cwe_ids":["CWE-707","CWE-74"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/7xxx/CVE-2026-7045.json","unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"2.5.0"},{"last_affected":"2.5.0"}]}]},"references":[{"type":"WEB","url":"https://github.com/baomidou/dynamic-datasource/"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/7xxx/CVE-2026-7045.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-7045"},{"type":"ADVISORY","url":"https://vuldb.com/submit/798600"},{"type":"ADVISORY","url":"https://vuldb.com/vuln/359624"},{"type":"REPORT","url":"https://github.com/baomidou/dynamic-datasource/issues/766"},{"type":"REPORT","url":"https://vuldb.com/vuln/359624/cti"},{"type":"FIX","url":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8"},{"type":"FIX","url":"https://github.com/baomidou/dynamic-datasource/pull/767"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/baomidou/dynamic-datasource","events":[{"introduced":"0"},{"fixed":"273fcedaee984c08197c0890f14190b86ab7e0b8"}],"database_specific":{"source":"REFERENCES"}}],"versions":["v4.50","v4.3.1","v4.3.0","v4.2.0","v4.1.3","v4.1.2","v4.1.1","v4.1.0","v4.0.0","v3.6.0","v3.5.2","v3.5.1","v3.5.0","v3.4.1","v3.4.0","v3.3.6","v3.3.5","v3.3.4","v3.3.3","v3.3.2","v3.3.1","v3.3.0","v3.2.1","v3.2.0","v3.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-7045.json","vanir_signatures_modified":"2026-07-22T03:09:01Z","vanir_signatures":[{"target":{"file":"dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/processor/DsSpelExpressionProcessor.java"},"deprecated":false,"digest":{"line_hashes":["212469248132618221382711681478978767440","251650818375535556120261521444254985241","135910342917811950385389896035964413123","275004506688592774767906599629099992323","100618065128380828885406589529415482913","298326895289687651363262552861515968581","193523894845921753430386347415952395409","99989861961757680397426135827176825019","337032415575078970101171364141634617872","18853708883910263790401380857949987442","237714502059094481648442814411140346998","2082859612867264140498429232805648415","11705460581415018977784034286331537766","232161910994826645720740913476114324240","304552593533396519964672700043667348607","118776910287527315498440421699795414474","82207872266105171567687600409849326160","304195345000394872607948722802529553119","27906900094781267034202641335013003896","113891781796518169835483228283438599905"],"threshold":0.9},"id":"CVE-2026-7045-05a3537f","signature_type":"Line","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8"},{"id":"CVE-2026-7045-27d749ba","signature_type":"Line","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring-boot-starter/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDataSourceAopConfiguration.java"},"deprecated":false,"digest":{"line_hashes":["255655341399331898277083637455375529287","106858159722497862513987847848512490284","12841505658144885197411286657316906033","161607344151510688648577096903664612077"],"threshold":0.9}},{"deprecated":false,"digest":{"line_hashes":["121322460821772617370046871497190458420","210998830282334965550899958095743325953","12841505658144885197411286657316906033","161607344151510688648577096903664612077"],"threshold":0.9},"id":"CVE-2026-7045-435a4872","signature_type":"Line","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring-boot4-starter/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDataSourceAopConfiguration.java"}},{"id":"CVE-2026-7045-539f4758","signature_type":"Function","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring-boot-starter/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDataSourceAopConfiguration.java","function":"dsProcessor"},"deprecated":false,"digest":{"function_hash":"188361792648950503499563586573122365475","length":231}},{"id":"CVE-2026-7045-6f64472c","signature_type":"Function","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring-boot3-starter/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDataSourceAopConfiguration.java","function":"dsProcessor"},"deprecated":false,"digest":{"function_hash":"188361792648950503499563586573122365475","length":231}},{"deprecated":false,"digest":{"function_hash":"310973718615870962739947875378627996378","length":410},"id":"CVE-2026-7045-8f644349","signature_type":"Function","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring/src/main/java/com/baomidou/dynamic/datasource/processor/DsSpelExpressionProcessor.java","function":"doDetermineDatasource"}},{"target":{"file":"dynamic-datasource-spring-boot3-starter/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDataSourceAopConfiguration.java"},"deprecated":false,"digest":{"line_hashes":["121322460821772617370046871497190458420","210998830282334965550899958095743325953","12841505658144885197411286657316906033","161607344151510688648577096903664612077"],"threshold":0.9},"id":"CVE-2026-7045-9592fb44","signature_type":"Line","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8"},{"source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring-boot4-starter/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDataSourceAopConfiguration.java","function":"dsProcessor"},"deprecated":false,"digest":{"function_hash":"188361792648950503499563586573122365475","length":231},"id":"CVE-2026-7045-b505e1bb","signature_type":"Function","signature_version":"v1"},{"deprecated":false,"digest":{"line_hashes":["218484096651401969227051058993631788789","182329984648830831639193327304135454446"],"threshold":0.9},"id":"CVE-2026-7045-c7a3f0ef","signature_type":"Line","signature_version":"v1","source":"https://github.com/baomidou/dynamic-datasource/commit/273fcedaee984c08197c0890f14190b86ab7e0b8","target":{"file":"dynamic-datasource-spring-boot-common/src/main/java/com/baomidou/dynamic/datasource/spring/boot/autoconfigure/DynamicDatasourceAopProperties.java"}}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"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/E:X"}]}