{"id":"CVE-2026-64047","summary":"net: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: tls: fix off-by-one in sg_chain entry count for wrapped sk_msg ring\n\nWhen an sk_msg scatterlist ring wraps (sg.end \u003c sg.start),\ntls_push_record() chains the tail portion of the ring to the head\nusing sg_chain(). An extra entry in the sg array is reserved for\nthis:\n\n  struct sk_msg_sg {\n        [...]\n        /* The extra two elements:\n         * 1) used for chaining the front and sections when the list becomes\n         *    partitioned (e.g. end \u003c start). The crypto APIs require the\n         *    chaining;\n         * 2) to chain tailer SG entries after the message.\n         */\n        struct scatterlist              data[MAX_MSG_FRAGS + 2];\n\nThe current code uses MAX_SKB_FRAGS + 1 as the ring size:\n\n    sg_chain(&msg_pl-\u003esg.data[msg_pl-\u003esg.start],\n             MAX_SKB_FRAGS - msg_pl-\u003esg.start + 1,\n             msg_pl-\u003esg.data);\n\nThis places the chain pointer at\n\n  sg_chain(data[start], (MAX_SKB_FRAGS - msg_start + 1) .. =\n  &data[start] + (MAX_SKB_FRAGS - msg_start + 1) - 1 =\n  data[start + (MAX_SKB_FRAGS - start + 1) - 1] =\n  data[MAX_SKB_FRAGS]\n\ninstead of the true last entry. This is likely due to a \"race\" of\nthe commit under Fixes landing close to\ncommit 031097d9e079 (\"bpf: sk_msg, zap ingress queue on psock down\")\n\nConvert to ARRAY_SIZE and drop the data[start] / - start (as suggested\nby Sabrina).","modified":"2026-10-28T02:30:22.247788615Z","published":"2026-07-19T15:39:31.960Z","related":["SUSE-SU-2026:23477-1","SUSE-SU-2026:23481-1","SUSE-SU-2026:23528-1","SUSE-SU-2026:23529-1","SUSE-SU-2026:23881-1","SUSE-SU-2026:23887-1","SUSE-SU-2026:23897-1","SUSE-SU-2026:23902-1","SUSE-SU-2026:4120-1","SUSE-SU-2026:4254-1","SUSE-SU-2026:4279-1","SUSE-SU-2026:4284-1","SUSE-SU-2026:4347-1","SUSE-SU-2026:4595-1","openSUSE-SU-2026:21910-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64047.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/131ef12057d92b77b636321b7849c69222405a97"},{"type":"WEB","url":"https://git.kernel.org/stable/c/285943c6e7ca309bbea84b253745154241d9788a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/2fb0dc7e0099686c4e9d2732745d8a31b18c3628"},{"type":"WEB","url":"https://git.kernel.org/stable/c/47110c3a9ac247b688657337f5981efcfcb240dc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/66339b71f105e6f83e0da3b9583d95077534fe1d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/73963a375885d5ccb7def39fd0b4f542e0f343dd"},{"type":"WEB","url":"https://git.kernel.org/stable/c/84158c2997159df4a0d70cd9c46774512d32a522"},{"type":"WEB","url":"https://git.kernel.org/stable/c/eca989eab4b2599dcb02f72140a7c08f08838520"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64047.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64047"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"9aaaa56845a06aeabdd597cbe19492dc01f281ec"},{"fixed":"73963a375885d5ccb7def39fd0b4f542e0f343dd"},{"fixed":"47110c3a9ac247b688657337f5981efcfcb240dc"},{"fixed":"84158c2997159df4a0d70cd9c46774512d32a522"},{"fixed":"131ef12057d92b77b636321b7849c69222405a97"},{"fixed":"66339b71f105e6f83e0da3b9583d95077534fe1d"},{"fixed":"eca989eab4b2599dcb02f72140a7c08f08838520"},{"fixed":"2fb0dc7e0099686c4e9d2732745d8a31b18c3628"},{"fixed":"285943c6e7ca309bbea84b253745154241d9788a"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5.4.14"},{"fixed":"5.5"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"d529d6c9f7e3aaeac13c4948f79799ccb825f29d"}]}],"versions":["v5.4.302","v5.4.301","v5.4.300","v5.4.299","v5.4.298","v5.4.297","v5.4.296","v5.4.295","v5.4.294","v5.4.293","v5.4.292","v5.4.291","v5.4.290","v5.4.289","v5.4.288","v5.4.287","v5.4.286","v5.4.285","v5.4.284","v5.4.283","v5.4.282","v5.4.281","v5.4.280","v5.4.279","v5.4.278","v5.4.277","v5.4.276","v5.4.275","v5.4.274","v5.4.273","v5.4.272","v5.4.271","v5.4.270","v5.4.269","v5.4.268","v5.4.267","v5.4.266","v5.4.265","v5.4.264","v5.4.263","v5.4.262","v5.4.261","v5.4.260","v5.4.259","v5.4.258","v5.4.257","v5.4.256","v5.4.255","v5.4.254","v5.4.253","v5.4.252","v5.4.251","v5.4.250","v5.4.249","v5.4.248","v5.4.247","v5.4.246","v5.4.245","v5.4.244","v5.4.243","v5.4.242","v5.4.241","v5.4.240","v5.4.239","v5.4.238","v5.4.237","v5.4.236","v5.4.235","v5.4.234","v5.4.233","v5.4.232","v5.4.231","v5.4.230","v5.4.229","v5.4.228","v5.4.227","v5.4.226","v5.4.225","v5.4.224","v5.4.223","v5.4.222","v5.4.221","v5.4.220","v5.4.219","v5.4.218","v5.4.217","v5.4.216","v5.4.215","v5.4.214","v5.4.213","v5.4.212","v5.4.211","v5.4.210","v5.4.209","v5.4.208","v5.4.207","v5.4.206","v5.4.205","v5.4.204","v5.4.203","v5.4.202","v5.4.201","v5.4.200","v5.4.199","v5.4.198","v5.4.197","v5.4.196","v5.4.195","v5.4.194","v5.4.193","v5.4.192","v5.4.191","v5.4.190","v5.4.189","v5.4.188","v5.4.187","v5.4.186","v5.4.185","v5.4.184","v5.4.183","v5.4.182","v5.4.181","v5.4.180","v5.4.179","v5.4.178","v5.4.177","v5.4.176","v5.4.175","v5.4.174","v5.4.173","v5.4.172","v5.4.171","v5.4.170","v5.4.169","v5.4.168","v5.4.167","v5.4.166","v5.4.165","v5.4.164","v5.4.163","v5.4.162","v5.4.161","v5.4.160","v5.4.159","v5.4.158","v5.4.157","v5.4.156","v5.4.155","v5.4.154","v5.4.153","v5.4.152","v5.4.151","v5.4.150","v5.4.149","v5.4.148","v5.4.147","v5.4.146","v5.4.145","v5.4.144","v5.4.143","v5.4.142","v5.4.141","v5.4.140","v5.4.139","v5.4.138","v5.4.137","v5.4.136","v5.4.135","v5.4.134","v5.4.133","v5.4.132","v5.4.131","v5.4.130","v5.4.129","v5.4.128","v5.4.127","v5.4.126","v5.4.125","v5.4.124","v5.4.123","v5.4.122","v5.4.121","v5.4.120","v5.4.119","v5.4.118","v5.4.117","v5.4.116","v5.4.115","v5.4.114","v5.4.113","v5.4.112","v5.4.111","v5.4.110","v5.4.109","v5.4.108","v5.4.107","v5.4.106","v5.4.105","v5.4.104","v5.4.103","v5.4.102","v5.4.101","v5.4.100","v5.4.99","v5.4.98","v5.4.97","v5.4.96","v5.4.95","v5.4.94","v5.4.93","v5.4.92","v5.4.91","v5.4.90","v5.4.89","v5.4.88","v5.4.87","v5.4.86","v5.4.85","v5.4.84","v5.4.83","v5.4.82","v5.4.81","v5.4.80","v5.4.79","v5.4.78","v5.4.77","v5.4.76","v5.4.75","v5.4.74","v5.4.73","v5.4.72","v5.4.71","v5.4.70","v5.4.69","v5.4.68","v5.4.67","v5.4.66","v5.4.65","v5.4.64","v5.4.63","v5.4.62","v5.4.61","v5.4.60","v5.4.59","v5.4.58","v5.4.57","v5.4.56","v5.4.55","v5.4.54","v5.4.53","v5.4.52","v5.4.51","v5.4.50","v5.4.49","v5.4.48","v5.4.47","v5.4.46","v5.4.45","v5.4.44","v5.4.43","v5.4.42","v5.4.41","v5.4.40","v5.4.39","v5.4.38","v5.4.37","v5.4.36","v5.4.35","v5.4.34","v5.4.33","v5.4.32","v5.4.31","v5.4.30","v5.4.29","v5.4.28","v5.4.27","v5.4.26","v5.4.25","v5.4.24","v5.4.23","v5.4.22","v5.4.21","v5.4.20","v5.4.19","v5.4.18","v5.4.17","v5.4.16","v5.4.15","v5.4.14"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64047.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.5.0"},{"fixed":"5.10.258"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.209"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.175"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.142"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.92"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.34"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.0.11"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64047.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}