{"id":"GHSA-7jrq-q4pq-rhm6","summary":"Oxia's TLS CA certificate chain validation fails with multi-certificate PEM bundles","details":"### Summary\nThe `trustedCertPool()` function in the TLS configuration only parses the first PEM block from CA certificate files. When a CA bundle contains multiple certificates (e.g., intermediate + root CA), only the first certificate is loaded. This silently breaks certificate chain validation for mTLS.\n\n### Impact\nIn deployments using mTLS with certificate chains (intermediate CA + root CA bundles), legitimate clients with properly chained certificates are rejected with `x509: certificate signed by unknown authority`. This degrades the security posture by making mTLS unusable with standard CA chain configurations, potentially forcing operators to disable client certificate verification.\n\nAll versions using TLS with `trustedCaFile` configuration are affected.\n\n### Details\nIn `common/security/tls.go`, the `trustedCertPool()` method calls `pem.Decode()` only once, processing a single PEM block. The remaining bytes (containing additional certificates) are silently discarded. Additionally, the error return from `pem.Decode` is ignored, so a corrupted CA file results in an empty certificate pool without any error.\n\n### Patches\nFixed by iterating over all PEM blocks in the file, parsing each CERTIFICATE block, and returning an error if no valid certificates are found.\n\n### Workarounds\nUse CA files containing only a single certificate (the direct issuer of client certificates, not a chain).","aliases":["CVE-2026-40944","GO-2026-5226"],"modified":"2026-06-25T19:56:14.900516483Z","published":"2026-04-14T23:15:16Z","database_specific":{"cwe_ids":["CWE-295"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2026-04-14T23:15:16Z","nvd_published_at":"2026-04-21T22:16:19Z"},"references":[{"type":"WEB","url":"https://github.com/oxia-db/oxia/security/advisories/GHSA-7jrq-q4pq-rhm6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40944"},{"type":"PACKAGE","url":"https://github.com/oxia-db/oxia"}],"affected":[{"package":{"name":"github.com/oxia-db/oxia","ecosystem":"Go","purl":"pkg:golang/github.com/oxia-db/oxia"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.16.2"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-7jrq-q4pq-rhm6/GHSA-7jrq-q4pq-rhm6.json","last_known_affected_version_range":"\u003c= 0.16.1"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U"}]}