{"schemaVersion":3,"id":"CVE-2023-46129","aliases":["UBUNTU-CVE-2023-46129","DEBIAN-CVE-2023-46129","CGA-285x-mvgx-hvwr","CGA-58j8-r4pr-8r78","CGA-gvh2-r4w7-vcm8","CGA-hqf7-rrrf-v3w8","CGA-j22v-f375-rp3w","CGA-pgq2-99vw-wp72","CGA-phj4-7c4j-c76v","CGA-qq8r-26f2-qg55","GHSA-mr45-rx8q-wcm9","BIT-nats-2023-46129","GO-2023-2163"],"status":"published","duplicateOf":null,"title":null,"description":"NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing. The cryptographic key handling library, nkeys, recently gained support for encryption, not just for signing/authentication. This is used in nats-server 2.10 (Sep 2023) and newer for authentication callouts. In nkeys versions 0.4.0 through 0.4.5, corresponding with NATS server versions 2.10.0 through 2.10.3, the nkeys library's `xkeys` encryption handling logic mistakenly passed an array by value into an internal function, where the function mutated that buffer to populate the encryption key to use. As a result, all encryption was actually to an all-zeros key. This affects encryption only, not signing.\nFIXME: FILL IN IMPACT ON NATS-SERVER AUTH CALLOUT SECURITY. nkeys Go library 0.4.6, corresponding with NATS Server 2.10.4, has a patch for this issue. No known workarounds are available. For any application handling auth callouts in Go, if using the nkeys library, update the dependency, recompile and deploy that in lockstep.","dates":{"published":"2023-10-30T23:47:36.039Z","modified":"2025-02-27T20:38:56.583Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Wolfi","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Go","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":10,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00371,"percentile":0.29577,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00371},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00371,"percentile":0.29577}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00371,"percentile":0.29577}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-321","name":"Use of Hard-coded Cryptographic Key","description":"The product uses a hard-coded, unchangeable cryptographic key.","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/321.html"},{"id":"CWE-325","name":"Missing Cryptographic Step","description":"The product does not implement a required step in a cryptographic algorithm, resulting in weaker encryption than advertised by the algorithm.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/325.html"}],"affected":[{"vendor":"chainguard","product":"k3s","name":"k3s","label":"k3s","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/k3s","purlType":"apk","versions":[{"text":"< 1.28.3-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.28.3-r1","eol":null,"hubHref":null},{"vendor":"chainguard","product":"minio","name":"minio","label":"minio","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/minio","purlType":"apk","versions":[{"text":"< 0.20231101.183725-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.20231101.183725-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"nats","name":"nats","label":"nats","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/nats","purlType":"apk","versions":[{"text":"< 0.1.1-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.1.1-r5","eol":null,"hubHref":null},{"vendor":"chainguard","product":"nats-server","name":"nats-server","label":"nats-server","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/nats-server","purlType":"apk","versions":[{"text":"< 2.10.4-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.4-r0","eol":null,"hubHref":null},{"vendor":"wolfi","product":"k3s","name":"k3s","label":"k3s","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/k3s","purlType":"apk","versions":[{"text":"< 1.28.3-r1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.28.3-r1","eol":null,"hubHref":null},{"vendor":"wolfi","product":"minio","name":"minio","label":"minio","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/minio","purlType":"apk","versions":[{"text":"< 0.20231101.183725-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.20231101.183725-r0","eol":null,"hubHref":null},{"vendor":"wolfi","product":"nats","name":"nats","label":"nats","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/nats","purlType":"apk","versions":[{"text":"< 0.1.1-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.1.1-r5","eol":null,"hubHref":null},{"vendor":"wolfi","product":"nats-server","name":"nats-server","label":"nats-server","ecosystem":"Wolfi","cpePart":null,"purl":"pkg:apk/wolfi/nats-server","purlType":"apk","versions":[{"text":"< 2.10.4-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.4-r0","eol":null,"hubHref":null},{"vendor":"debian","product":"golang-github-nats-io-nkeys","name":"golang-github-nats-io-nkeys","label":"golang-github-nats-io-nkeys","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/golang-github-nats-io-nkeys","purlType":"deb","versions":[{"text":"< 0.4.6-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.4.6-1","eol":null,"hubHref":null},{"vendor":"debian","product":"nats-server","name":"nats-server","label":"nats-server","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/nats-server","purlType":"deb","versions":[{"text":"< 2.10.4-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2.10.4-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"golang-github-nats-io-nkeys","name":"golang-github-nats-io-nkeys","label":"golang-github-nats-io-nkeys","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/golang-github-nats-io-nkeys","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"github.com/nats-io","product":"nkeys","name":"github.com/nats-io/nkeys","label":"nkeys","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/nats-io/nkeys","purlType":"golang","versions":[{"text":"≥ 0.4.0, < 0.4.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.4.0, < 0.4.6","eol":null,"hubHref":null},{"vendor":"github.com/nats-io/nats-server","product":"v2","name":"github.com/nats-io/nats-server/v2","label":"v2","ecosystem":"Go","cpePart":null,"purl":"pkg:golang/github.com/nats-io/nats-server/v2","purlType":"golang","versions":[{"text":"≥ 2.10.0, < 2.10.4","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.10.0, < 2.10.4","eol":null,"hubHref":null},{"vendor":"linuxfoundation","product":"nats-server","name":"nats-server","label":"nats-server","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 2.10.0, < 2.10.4","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.10.0, < 2.10.4","eol":null,"hubHref":"/vendor/linuxfoundation/nats-server"},{"vendor":"nats-io","product":"nkeys","name":"nkeys","label":"nkeys","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 2.10.0, < 2.10.4","noFixRecorded":false,"fixedIn":null},{"text":"≥ 0.4.0, < 0.4.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2.10.0, < 2.10.4 | ≥ 0.4.0, < 0.4.6","eol":null,"hubHref":"/vendor/nats-io/nkeys"},{"vendor":"nats","product":"nkeys","name":"nkeys","label":"nkeys","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 0.4.0, < 0.4.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.4.0, < 0.4.6","eol":null,"hubHref":"/vendor/nats/nkeys"}],"affectedCount":16,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/nats-io/nkeys/security/advisories/GHSA-mr45-rx8q-wcm9","label":"github.com/nats-io/nkeys/security/advisories/GHSA-mr45-rx8q-wcm9","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Advisory","WEB","Vendor Advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2023/10/31/1","label":"www.openwall.com/lists/oss-security/2023/10/31/1","hostname":"www.openwall.com","tags":["WEB","Mailing List","Third Party Advisory"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ULQQONMSCQSH5Z5OWFFQHCGEZ3NL4DRJ/","label":"lists.fedoraproject.org/archives/…","hostname":"lists.fedoraproject.org","tags":["WEB"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/R3UETKPUB3V5JS5TLZOF3SMTGT5K5APS/","label":"lists.fedoraproject.org/archives/…","hostname":"lists.fedoraproject.org","tags":["WEB"]},{"url":"https://ubuntu.com/security/CVE-2023-46129","label":"ubuntu.com/security/CVE-2023-46129","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://advisories.nats.io/CVE/secnote-2023-02.txt","label":"advisories.nats.io/CVE/secnote-2023-02.txt","hostname":"advisories.nats.io","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-46129","label":"www.cve.org/CVERecord?id=CVE-2023-46129","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2023-46129","label":"security-tracker.debian.org/tracker/CVE-2023-46129","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/46xxx/CVE-2023-46129.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2023/46xxx/CVE-2023-46129.json","hostname":"github.com","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-46129","label":"nvd.nist.gov/vuln/detail/CVE-2023-46129","hostname":"nvd.nist.gov","tags":["Advisory","Oval"]},{"url":"https://github.com/nats-io/nkeys/commit/58fb9d69f42ea73fffad1d14e5914dc666f3daa1","label":"github.com/nats-io/nkeys/commit/58fb9d69f42ea73fffad1d14e5914dc666f3daa1","hostname":"github.com","tags":["WEB","FIX"]},{"url":"https://github.com/nats-io/nkeys","label":"github.com/nats-io/nkeys","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/R3UETKPUB3V5JS5TLZOF3SMTGT5K5APS","label":"lists.fedoraproject.org/archives/…","hostname":"lists.fedoraproject.org","tags":["WEB"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ULQQONMSCQSH5Z5OWFFQHCGEZ3NL4DRJ","label":"lists.fedoraproject.org/archives/…","hostname":"lists.fedoraproject.org","tags":["WEB"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":["CGA-2W78-Q45X-GFH2","CGA-56CG-QWP6-WXR6","CGA-7JCP-VFHV-643J","CGA-96WH-4FVQ-2H43","CGA-GWJ3-F8J3-CQ37","CGA-VR4H-V25Q-P87J"]},"timeline":[{"kind":"published","date":"2023-10-30T23:47:36.039Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-02-27T20:38:56.583Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":30,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T19:30:15.235Z","stale":false,"partial":false}}