{"schema":"threatline.record/2","record":{"id":"CVE-2026-108648","aliases":[],"summary":"JeecgBoot through 3.9.5 Missing Authorization via getDynamicDbSourceByCode Endpoint","details":"JeecgBoot through 3.9.5 contains a missing authorization vulnerability in the GET /sys/api/getDynamicDbSourceByCode endpoint of SystemApiController, which lacks Shiro permission or role annotations. Any authenticated low-privileged user can supply datasource codes in the dbSourceCode parameter to retrieve JDBC URLs, usernames and decrypted cleartext database passwords.","categories":["Unclassified"],"product":"JeecgBoot","vendor":"jeecgboot","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-108648","source_modified_at":"2026-10-14T02:36:43.877Z","fetched_at":"2026-10-23T18:48:36.087640Z","product":"JeecgBoot","vendor":"jeecgboot","versions":[{"version":"0","lessThanOrEqual":"3.9.5","status":"affected","versionType":"custom"}],"defaultStatus":"unaffected"}],"fixed_versions":[],"cvss":7.1,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00294,"percentile":0.20939,"score_date":"2026-10-23"},"published_at":"2026-10-10T21:49:37.422Z","modified_at":"2026-10-14T02:36:43.877Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-108648","fetched_at":"2026-10-23T18:48:36.087640Z","source_modified_at":"2026-10-14T02:36:43.877Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-108648","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_sys_api_credential_family.py","tags":["exploit"]},{"source":"CVE List","url":"https://github.com/jeecgboot/JeecgBoot/blob/e3b9dc0aefe1943d9772b026f64ed671a7c82802/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java#L358-L361","tags":["technical-description"]},{"source":"CVE List","url":"https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-getdynamicdbsourcebycode-endpoint","tags":["third-party-advisory"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"poc","automatable":"no","technical_impact":"partial","assessed_at":"2026-10-14T02:36:34.684576Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-14T02:36:43.877Z","content_hash":"0da95df9bb35c9d06db013e96a9be5c9f06c909c4944f04445c169dd5fdae0b4"}}
