{"api_version":"1","generated_at":"2026-04-21T08:58:11+00:00","cve":"CVE-2026-4370","urls":{"html":"https://cve.report/CVE-2026-4370","api":"https://cve.report/api/cve/CVE-2026-4370.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-4370","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-4370"},"summary":{"title":"Improper TLS Client/Server authentication and certificate verification on Database Cluster","description":"A vulnerability was identified in Juju from version 3.2.0 until 3.6.19 and from version 4.0 until 4.0.4, where the internal Dqlite database cluster fails to perform proper TLS client and server authentication. Specifically, the Juju controller's database endpoint does not validate client certificates when a new node attempts to join the cluster. An unauthenticated attacker with network reachability to the Juju controller's Dqlite port can exploit this flaw to join the database cluster. Once joined, the attacker gains full read and write access to the underlying database, allowing for total data compromise.","state":"PUBLISHED","assigner":"canonical","published_at":"2026-04-01 09:16:17","updated_at":"2026-04-02 20:24:48"},"problem_types":["CWE-295","CWE-306","CWE-295 CWE-295 Improper certificate validation","CWE-306 CWE-306 Missing authentication for critical function"],"metrics":[{"version":"3.1","source":"security@ubuntu.com","type":"Secondary","score":"10","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","baseScore":10,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"10","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":10,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/juju/juju/security/advisories/GHSA-gvrj-cjch-728p","name":"https://github.com/juju/juju/security/advisories/GHSA-gvrj-cjch-728p","refsource":"security@ubuntu.com","tags":["Exploit","Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-4370","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-4370","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Canonical","product":"Juju","version":"affected 3.2.0 3.6.20 semver","platforms":["Linux"]},{"source":"CNA","vendor":"Canonical","product":"Juju","version":"affected 4.0 4.0.4 semver","platforms":["Linux"]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Harry Pidcock","lang":"en"},{"source":"CNA","value":"Joseph Phillips","lang":"en"},{"source":"CNA","value":"Ian Booth","lang":"en"}],"nvd_cpes":[{"cve_year":"2026","cve_id":"4370","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"canonical","cpe5":"juju","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"4370","cve":"CVE-2026-4370","epss":"0.000710000","percentile":"0.217360000","score_date":"2026-04-07","updated_at":"2026-04-08 00:03:40"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-4370","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-04-01T13:00:31.628747Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-04-01T13:01:08.226Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"collectionURL":"https://github.com/juju/","defaultStatus":"unaffected","packageName":"juju","platforms":["Linux"],"product":"Juju","repo":"https://github.com/juju/juju","vendor":"Canonical","versions":[{"lessThan":"3.6.20","status":"affected","version":"3.2.0","versionType":"semver"},{"lessThan":"4.0.4","status":"affected","version":"4.0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Harry Pidcock"},{"lang":"en","type":"remediation developer","value":"Joseph Phillips"},{"lang":"en","type":"coordinator","value":"Ian Booth"}],"descriptions":[{"lang":"en","value":"A vulnerability was identified in Juju from version 3.2.0 until 3.6.19 and from version 4.0 until 4.0.4, where the internal Dqlite database cluster fails to perform proper TLS client and server authentication. Specifically, the Juju controller's database endpoint does not validate client certificates when a new node attempts to join the cluster. An unauthenticated attacker with network reachability to the Juju controller's Dqlite port can exploit this flaw to join the database cluster. Once joined, the attacker gains full read and write access to the underlying database, allowing for total data compromise."}],"impacts":[{"capecId":"CAPEC-115","descriptions":[{"lang":"en","value":"CAPEC-115 Authentication Bypass"}]},{"capecId":"CAPEC-94","descriptions":[{"lang":"en","value":"CAPEC-94 Adversary in the Middle (AiTM)"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":10,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-295","description":"CWE-295 Improper certificate validation","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-306","description":"CWE-306 Missing authentication for critical function","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-04-01T08:09:17.570Z","orgId":"cc1ad9ee-3454-478d-9317-d3e869d708bc","shortName":"canonical"},"references":[{"url":"https://github.com/juju/juju/security/advisories/GHSA-gvrj-cjch-728p"}],"source":{"discovery":"INTERNAL"},"title":"Improper TLS Client/Server authentication and certificate verification on Database Cluster"}},"cveMetadata":{"assignerOrgId":"cc1ad9ee-3454-478d-9317-d3e869d708bc","assignerShortName":"canonical","cveId":"CVE-2026-4370","datePublished":"2026-04-01T08:09:17.570Z","dateReserved":"2026-03-18T08:46:09.947Z","dateUpdated":"2026-04-01T13:01:08.226Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-04-01 09:16:17","lastModifiedDate":"2026-04-02 20:24:48","problem_types":["CWE-295","CWE-306","CWE-295 CWE-295 Improper certificate validation","CWE-306 CWE-306 Missing authentication for critical function"],"metrics":{"cvssMetricV31":[{"source":"security@ubuntu.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","baseScore":10,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":6}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:canonical:juju:*:*:*:*:*:*:*:*","versionStartIncluding":"3.2.0","versionEndExcluding":"3.6.20","matchCriteriaId":"C1E8860B-D8C6-4795-A4F8-5EA1E8CB2381"},{"vulnerable":true,"criteria":"cpe:2.3:a:canonical:juju:*:*:*:*:*:*:*:*","versionStartIncluding":"4.0","versionEndExcluding":"4.0.5","matchCriteriaId":"D900BC29-F5B7-4485-BB1D-42E9778D0A82"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"4370","Ordinal":"1","Title":"Improper TLS Client/Server authentication and certificate verifi","CVE":"CVE-2026-4370","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"4370","Ordinal":"1","NoteData":"A vulnerability was identified in Juju from version 3.2.0 until 3.6.19 and from version 4.0 until 4.0.4, where the internal Dqlite database cluster fails to perform proper TLS client and server authentication. Specifically, the Juju controller's database endpoint does not validate client certificates when a new node attempts to join the cluster. An unauthenticated attacker with network reachability to the Juju controller's Dqlite port can exploit this flaw to join the database cluster. Once joined, the attacker gains full read and write access to the underlying database, allowing for total data compromise.","Type":"Description","Title":"Improper TLS Client/Server authentication and certificate verifi"}]}}}