{"api_version":"1","generated_at":"2026-06-24T22:49:14+00:00","cve":"CVE-2026-53004","urls":{"html":"https://cve.report/CVE-2026-53004","api":"https://cve.report/api/cve/CVE-2026-53004.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53004","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53004"},"summary":{"title":"sctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks\n\nsctp_getsockopt_peer_auth_chunks() checks that the caller's optval\nbuffer is large enough for the peer AUTH chunk list with\n\n    if (len < num_chunks)\n            return -EINVAL;\n\nbut then writes num_chunks bytes to p->gauth_chunks, which lives\nat offset offsetof(struct sctp_authchunks, gauth_chunks) == 8\ninside optval.  The check is missing the sizeof(struct\nsctp_authchunks) = 8-byte header.  When the caller supplies\nlen == num_chunks (for any num_chunks > 0) the test passes but\ncopy_to_user() writes sizeof(struct sctp_authchunks) = 8 bytes\npast the declared buffer.\n\nThe sibling function sctp_getsockopt_local_auth_chunks() at the\nnext line already has the correct check:\n\n    if (len < sizeof(struct sctp_authchunks) + num_chunks)\n            return -EINVAL;\n\nAlign the peer variant with its sibling.\n\nReproducer confirms on v7.0-13-generic: an unprivileged userspace\ncaller that opens a loopback SCTP association with AUTH enabled,\nqueries num_chunks with a short optval, then issues the real\ngetsockopt with len == num_chunks and sentinel bytes painted past\nthe buffer observes those sentinel bytes overwritten with the\npeer's AUTH chunk type.  The bytes written are under the peer's\ncontrol but land in the caller's own userspace; this is not a\nkernel memory corruption, but it is a kernel-side contract\nviolation that can silently corrupt adjacent userspace data.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-24 17:17:11","updated_at":"2026-06-24 17:17:11"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/2b5a2c957c7769d40110f725cf23987fcef50d75","name":"https://git.kernel.org/stable/c/2b5a2c957c7769d40110f725cf23987fcef50d75","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a132e199de69e2a45628aa8534df1bf5d44e1b6e","name":"https://git.kernel.org/stable/c/a132e199de69e2a45628aa8534df1bf5d44e1b6e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/70a089cc9590aa347a61e84434116ab74619e3c3","name":"https://git.kernel.org/stable/c/70a089cc9590aa347a61e84434116ab74619e3c3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d67fbc6dea5dbf7f46c618ebf65910a276078e20","name":"https://git.kernel.org/stable/c/d67fbc6dea5dbf7f46c618ebf65910a276078e20","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6849b995cda88a677bf08a05765d1db7905974fc","name":"https://git.kernel.org/stable/c/6849b995cda88a677bf08a05765d1db7905974fc","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d45c7e99caf915b0f6c716bd8ffe9d45b9685761","name":"https://git.kernel.org/stable/c/d45c7e99caf915b0f6c716bd8ffe9d45b9685761","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/0cf004ffb61cd32d140531c3a84afe975f9fc7ea","name":"https://git.kernel.org/stable/c/0cf004ffb61cd32d140531c3a84afe975f9fc7ea","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6bcf8fe4ef7967b22b814cbae9a57bbd3c853410","name":"https://git.kernel.org/stable/c/6bcf8fe4ef7967b22b814cbae9a57bbd3c853410","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53004","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53004","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 a132e199de69e2a45628aa8534df1bf5d44e1b6e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 2b5a2c957c7769d40110f725cf23987fcef50d75 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 d45c7e99caf915b0f6c716bd8ffe9d45b9685761 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 d67fbc6dea5dbf7f46c618ebf65910a276078e20 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 6849b995cda88a677bf08a05765d1db7905974fc git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 70a089cc9590aa347a61e84434116ab74619e3c3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 6bcf8fe4ef7967b22b814cbae9a57bbd3c853410 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 65b07e5d0d09c77e98050b5f0146ead29e5add32 0cf004ffb61cd32d140531c3a84afe975f9fc7ea git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.24","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.24 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.258 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.209 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.175 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.141 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.91 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.33 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.10 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/sctp/socket.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"a132e199de69e2a45628aa8534df1bf5d44e1b6e","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"2b5a2c957c7769d40110f725cf23987fcef50d75","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"d45c7e99caf915b0f6c716bd8ffe9d45b9685761","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"d67fbc6dea5dbf7f46c618ebf65910a276078e20","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"6849b995cda88a677bf08a05765d1db7905974fc","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"70a089cc9590aa347a61e84434116ab74619e3c3","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"6bcf8fe4ef7967b22b814cbae9a57bbd3c853410","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"},{"lessThan":"0cf004ffb61cd32d140531c3a84afe975f9fc7ea","status":"affected","version":"65b07e5d0d09c77e98050b5f0146ead29e5add32","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/sctp/socket.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.24"},{"lessThan":"2.6.24","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.258","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.209","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.175","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.141","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.91","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.33","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.10","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.258","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.209","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.175","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.141","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.91","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.33","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.10","versionStartIncluding":"2.6.24","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"2.6.24","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks\n\nsctp_getsockopt_peer_auth_chunks() checks that the caller's optval\nbuffer is large enough for the peer AUTH chunk list with\n\n    if (len < num_chunks)\n            return -EINVAL;\n\nbut then writes num_chunks bytes to p->gauth_chunks, which lives\nat offset offsetof(struct sctp_authchunks, gauth_chunks) == 8\ninside optval.  The check is missing the sizeof(struct\nsctp_authchunks) = 8-byte header.  When the caller supplies\nlen == num_chunks (for any num_chunks > 0) the test passes but\ncopy_to_user() writes sizeof(struct sctp_authchunks) = 8 bytes\npast the declared buffer.\n\nThe sibling function sctp_getsockopt_local_auth_chunks() at the\nnext line already has the correct check:\n\n    if (len < sizeof(struct sctp_authchunks) + num_chunks)\n            return -EINVAL;\n\nAlign the peer variant with its sibling.\n\nReproducer confirms on v7.0-13-generic: an unprivileged userspace\ncaller that opens a loopback SCTP association with AUTH enabled,\nqueries num_chunks with a short optval, then issues the real\ngetsockopt with len == num_chunks and sentinel bytes painted past\nthe buffer observes those sentinel bytes overwritten with the\npeer's AUTH chunk type.  The bytes written are under the peer's\ncontrol but land in the caller's own userspace; this is not a\nkernel memory corruption, but it is a kernel-side contract\nviolation that can silently corrupt adjacent userspace data."}],"providerMetadata":{"dateUpdated":"2026-06-24T16:29:16.151Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/a132e199de69e2a45628aa8534df1bf5d44e1b6e"},{"url":"https://git.kernel.org/stable/c/2b5a2c957c7769d40110f725cf23987fcef50d75"},{"url":"https://git.kernel.org/stable/c/d45c7e99caf915b0f6c716bd8ffe9d45b9685761"},{"url":"https://git.kernel.org/stable/c/d67fbc6dea5dbf7f46c618ebf65910a276078e20"},{"url":"https://git.kernel.org/stable/c/6849b995cda88a677bf08a05765d1db7905974fc"},{"url":"https://git.kernel.org/stable/c/70a089cc9590aa347a61e84434116ab74619e3c3"},{"url":"https://git.kernel.org/stable/c/6bcf8fe4ef7967b22b814cbae9a57bbd3c853410"},{"url":"https://git.kernel.org/stable/c/0cf004ffb61cd32d140531c3a84afe975f9fc7ea"}],"title":"sctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-53004","datePublished":"2026-06-24T16:29:16.151Z","dateReserved":"2026-06-09T07:44:35.377Z","dateUpdated":"2026-06-24T16:29:16.151Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-24 17:17:11","lastModifiedDate":"2026-06-24 17:17:11","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53004","Ordinal":"1","Title":"sctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_ch","CVE":"CVE-2026-53004","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53004","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks\n\nsctp_getsockopt_peer_auth_chunks() checks that the caller's optval\nbuffer is large enough for the peer AUTH chunk list with\n\n    if (len < num_chunks)\n            return -EINVAL;\n\nbut then writes num_chunks bytes to p->gauth_chunks, which lives\nat offset offsetof(struct sctp_authchunks, gauth_chunks) == 8\ninside optval.  The check is missing the sizeof(struct\nsctp_authchunks) = 8-byte header.  When the caller supplies\nlen == num_chunks (for any num_chunks > 0) the test passes but\ncopy_to_user() writes sizeof(struct sctp_authchunks) = 8 bytes\npast the declared buffer.\n\nThe sibling function sctp_getsockopt_local_auth_chunks() at the\nnext line already has the correct check:\n\n    if (len < sizeof(struct sctp_authchunks) + num_chunks)\n            return -EINVAL;\n\nAlign the peer variant with its sibling.\n\nReproducer confirms on v7.0-13-generic: an unprivileged userspace\ncaller that opens a loopback SCTP association with AUTH enabled,\nqueries num_chunks with a short optval, then issues the real\ngetsockopt with len == num_chunks and sentinel bytes painted past\nthe buffer observes those sentinel bytes overwritten with the\npeer's AUTH chunk type.  The bytes written are under the peer's\ncontrol but land in the caller's own userspace; this is not a\nkernel memory corruption, but it is a kernel-side contract\nviolation that can silently corrupt adjacent userspace data.","Type":"Description","Title":"sctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_ch"}]}}}