{"api_version":"1","generated_at":"2026-09-26T13:04:35+00:00","cve":"CVE-2026-97964","urls":{"html":"https://cve.report/CVE-2026-97964","api":"https://cve.report/api/cve/CVE-2026-97964.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-97964","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-97964"},"summary":{"title":"ppp_synctty: ensure a writeable skb header","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nppp_synctty: ensure a writeable skb header\n\nppp_sync_txmunge() checks headroom before prepending the address and\ncontrol bytes, but does not ensure that the skb header is writable.\nA received skb can reach this function through PPP channel bridging\nwithout passing through ppp_start_xmit(), which calls skb_cow_head().\n\nFor example, a PPPoE frame may share its buffer with a clone queued to\nan AF_PACKET socket. If it is bridged to a synchronous tty channel, the\naddress/control bytes can overwrite data still visible to that socket.\n\nUse skb_cow_head() to ensure both sufficient headroom and a writable\nheader.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-25 11:17:24","updated_at":"2026-09-25 11:17:24"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/15d0a6c9a42df2d745c37510dba828f6dbe60d9f","name":"https://git.kernel.org/stable/c/15d0a6c9a42df2d745c37510dba828f6dbe60d9f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8aaeb56aff2a557a88f83ae866da2c91ad247e59","name":"https://git.kernel.org/stable/c/8aaeb56aff2a557a88f83ae866da2c91ad247e59","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/0996c3e6bcc6ae08cb371ed43648c9f7f748ae6e","name":"https://git.kernel.org/stable/c/0996c3e6bcc6ae08cb371ed43648c9f7f748ae6e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3af7797fbabc84992e0ca5ad2bc0ca8537d053ef","name":"https://git.kernel.org/stable/c/3af7797fbabc84992e0ca5ad2bc0ca8537d053ef","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-97964","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97964","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4cf476ced45d7f12df30a68e833b263e7a2202d1 3af7797fbabc84992e0ca5ad2bc0ca8537d053ef git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4cf476ced45d7f12df30a68e833b263e7a2202d1 0996c3e6bcc6ae08cb371ed43648c9f7f748ae6e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4cf476ced45d7f12df30a68e833b263e7a2202d1 15d0a6c9a42df2d745c37510dba828f6dbe60d9f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4cf476ced45d7f12df30a68e833b263e7a2202d1 8aaeb56aff2a557a88f83ae866da2c91ad247e59 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.11","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.11 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.111 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.53 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.7 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc3 * 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":["drivers/net/ppp/ppp_synctty.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"3af7797fbabc84992e0ca5ad2bc0ca8537d053ef","status":"affected","version":"4cf476ced45d7f12df30a68e833b263e7a2202d1","versionType":"git"},{"lessThan":"0996c3e6bcc6ae08cb371ed43648c9f7f748ae6e","status":"affected","version":"4cf476ced45d7f12df30a68e833b263e7a2202d1","versionType":"git"},{"lessThan":"15d0a6c9a42df2d745c37510dba828f6dbe60d9f","status":"affected","version":"4cf476ced45d7f12df30a68e833b263e7a2202d1","versionType":"git"},{"lessThan":"8aaeb56aff2a557a88f83ae866da2c91ad247e59","status":"affected","version":"4cf476ced45d7f12df30a68e833b263e7a2202d1","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/ppp/ppp_synctty.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.11"},{"lessThan":"5.11","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.111","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.53","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.7","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.111","versionStartIncluding":"5.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.53","versionStartIncluding":"5.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.7","versionStartIncluding":"5.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc3","versionStartIncluding":"5.11","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nppp_synctty: ensure a writeable skb header\n\nppp_sync_txmunge() checks headroom before prepending the address and\ncontrol bytes, but does not ensure that the skb header is writable.\nA received skb can reach this function through PPP channel bridging\nwithout passing through ppp_start_xmit(), which calls skb_cow_head().\n\nFor example, a PPPoE frame may share its buffer with a clone queued to\nan AF_PACKET socket. If it is bridged to a synchronous tty channel, the\naddress/control bytes can overwrite data still visible to that socket.\n\nUse skb_cow_head() to ensure both sufficient headroom and a writable\nheader."}],"providerMetadata":{"dateUpdated":"2026-09-25T10:23:07.350Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/3af7797fbabc84992e0ca5ad2bc0ca8537d053ef"},{"url":"https://git.kernel.org/stable/c/0996c3e6bcc6ae08cb371ed43648c9f7f748ae6e"},{"url":"https://git.kernel.org/stable/c/15d0a6c9a42df2d745c37510dba828f6dbe60d9f"},{"url":"https://git.kernel.org/stable/c/8aaeb56aff2a557a88f83ae866da2c91ad247e59"}],"title":"ppp_synctty: ensure a writeable skb header","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-97964","datePublished":"2026-09-25T10:23:07.350Z","dateReserved":"2026-09-25T10:18:58.206Z","dateUpdated":"2026-09-25T10:23:07.350Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-25 11:17:24","lastModifiedDate":"2026-09-25 11:17:24","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"97964","Ordinal":"1","Title":"ppp_synctty: ensure a writeable skb header","CVE":"CVE-2026-97964","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"97964","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nppp_synctty: ensure a writeable skb header\n\nppp_sync_txmunge() checks headroom before prepending the address and\ncontrol bytes, but does not ensure that the skb header is writable.\nA received skb can reach this function through PPP channel bridging\nwithout passing through ppp_start_xmit(), which calls skb_cow_head().\n\nFor example, a PPPoE frame may share its buffer with a clone queued to\nan AF_PACKET socket. If it is bridged to a synchronous tty channel, the\naddress/control bytes can overwrite data still visible to that socket.\n\nUse skb_cow_head() to ensure both sufficient headroom and a writable\nheader.","Type":"Description","Title":"ppp_synctty: ensure a writeable skb header"}]}}}