{"id":"CVE-2024-49948","state":"PUBLISHED","title":"net: add more sanity checks to qdisc_pkt_len_init()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: add more sanity checks to qdisc_pkt_len_init()\n\nOne path takes care of SKB_GSO_DODGY, assuming\nskb->len is bigger than hdr_len.\n\nvirtio_net_hdr_to_skb() does not fully dissect TCP headers,\nit only make sure it is at least 20 bytes.\n\nIt is possible for an user to provide a malicious 'GSO' packet,\ntotal length of 80 bytes.\n\n- 20 bytes of IPv4 header\n- 60 bytes TCP header\n- a small gso_size like 8\n\nvirtio_net_hdr_to_skb() would declare this packet as a normal\nGSO packet, because it would see 40 bytes of payload,\nbigger than gso_size.\n\nWe need to make detect this case to not underflow\nqdisc_skb_cb(skb)->pkt_len.","publishedAt":"2024-10-21T18:02:05.121Z","updatedAt":"2026-10-15T00:54:48.613Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"d7d1a28f5dd57b4d83def876f8d7b4403bd37df9","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"473426a1d53a68dd1e718e6cd00d57936993fa6c","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"566a931a1436d0e0ad13708ea55479b95426213c","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"2415f465730e48b6e38da1c7c097317bf5dd2d20","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"27a8fabc54d2f960d47bdfbebf2bdc6e8a92a4c4","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"9b0ee571d20a238a22722126abdfde61f1b2bdd0","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"ff1c3cadcf405ab37dd91418a62a7acecf3bc5e2","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"1eebe602a8d8264a12e35e39d0645fa88dbbacdd","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"ab9a9a9e9647392a19e7a885b08000e89c86b535","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/core/dev.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.9","versionType":"semver"},{"version":"4.19.323","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.285","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.227","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.168","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.113","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.55","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.10.14","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11.3","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/core/dev.c"]}],"references":["https://git.kernel.org/stable/c/d7d1a28f5dd57b4d83def876f8d7b4403bd37df9","https://git.kernel.org/stable/c/473426a1d53a68dd1e718e6cd00d57936993fa6c","https://git.kernel.org/stable/c/566a931a1436d0e0ad13708ea55479b95426213c","https://git.kernel.org/stable/c/2415f465730e48b6e38da1c7c097317bf5dd2d20","https://git.kernel.org/stable/c/27a8fabc54d2f960d47bdfbebf2bdc6e8a92a4c4","https://git.kernel.org/stable/c/9b0ee571d20a238a22722126abdfde61f1b2bdd0","https://git.kernel.org/stable/c/ff1c3cadcf405ab37dd91418a62a7acecf3bc5e2","https://git.kernel.org/stable/c/1eebe602a8d8264a12e35e39d0645fa88dbbacdd","https://git.kernel.org/stable/c/ab9a9a9e9647392a19e7a885b08000e89c86b535","https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html","https://cert-portal.siemens.com/productcert/html/ssa-398330.html","https://cert-portal.siemens.com/productcert/html/ssa-265688.html","https://cert-portal.siemens.com/productcert/html/ssa-355557.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:56.516Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/49xxx/CVE-2024-49948.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-49948","state":"PUBLISHED","datePublished":"2024-10-21T18:02:05.121Z","dateUpdated":"2026-10-15T00:54:48.613Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-10-21T12:17:06.045Z"},"containers":{"cna":{"title":"net: add more sanity checks to qdisc_pkt_len_init()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: add more sanity checks to qdisc_pkt_len_init()\n\nOne path takes care of SKB_GSO_DODGY, assuming\nskb->len is bigger than hdr_len.\n\nvirtio_net_hdr_to_skb() does not fully dissect TCP headers,\nit only make sure it is at least 20 bytes.\n\nIt is possible for an user to provide a malicious 'GSO' packet,\ntotal length of 80 bytes.\n\n- 20 bytes of IPv4 header\n- 60 bytes TCP header\n- a small gso_size like 8\n\nvirtio_net_hdr_to_skb() would declare this packet as a normal\nGSO packet, because it would see 40 bytes of payload,\nbigger than gso_size.\n\nWe need to make detect this case to not underflow\nqdisc_skb_cb(skb)->pkt_len."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"d7d1a28f5dd57b4d83def876f8d7b4403bd37df9","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"473426a1d53a68dd1e718e6cd00d57936993fa6c","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"566a931a1436d0e0ad13708ea55479b95426213c","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"2415f465730e48b6e38da1c7c097317bf5dd2d20","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"27a8fabc54d2f960d47bdfbebf2bdc6e8a92a4c4","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"9b0ee571d20a238a22722126abdfde61f1b2bdd0","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"ff1c3cadcf405ab37dd91418a62a7acecf3bc5e2","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"1eebe602a8d8264a12e35e39d0645fa88dbbacdd","versionType":"git"},{"version":"1def9238d4aa2146924994aa4b7dc861f03b9362","status":"affected","lessThan":"ab9a9a9e9647392a19e7a885b08000e89c86b535","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/core/dev.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.9","versionType":"semver"},{"version":"4.19.323","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.285","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.227","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.168","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.113","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.55","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.10.14","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11.3","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/core/dev.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d7d1a28f5dd57b4d83def876f8d7b4403bd37df9"},{"url":"https://git.kernel.org/stable/c/473426a1d53a68dd1e718e6cd00d57936993fa6c"},{"url":"https://git.kernel.org/stable/c/566a931a1436d0e0ad13708ea55479b95426213c"},{"url":"https://git.kernel.org/stable/c/2415f465730e48b6e38da1c7c097317bf5dd2d20"},{"url":"https://git.kernel.org/stable/c/27a8fabc54d2f960d47bdfbebf2bdc6e8a92a4c4"},{"url":"https://git.kernel.org/stable/c/9b0ee571d20a238a22722126abdfde61f1b2bdd0"},{"url":"https://git.kernel.org/stable/c/ff1c3cadcf405ab37dd91418a62a7acecf3bc5e2"},{"url":"https://git.kernel.org/stable/c/1eebe602a8d8264a12e35e39d0645fa88dbbacdd"},{"url":"https://git.kernel.org/stable/c/ab9a9a9e9647392a19e7a885b08000e89c86b535"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:42:38.409Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"4.19.323"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"5.4.285"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"5.10.227"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"5.15.168"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.1.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.6.55"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.10.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.11.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.9","versionEndExcluding":"6.12"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-49948","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-10-22T13:36:47.619949Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-10-22T13:38:49.499Z"}},{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T22:23:27.937Z"}},{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 TM MFP - GNU/Linux subsystem","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V1.1.1","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"RUGGEDCOM RST2428P","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.2","versionType":"custom"}]},{"vendor":"Siemens","product":"SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.2","versionType":"custom"}]},{"vendor":"Siemens","product":"SCALANCE XCM-/XRM-/XCH-/XRH-300 family","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.2","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-398330.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-265688.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-355557.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T00:54:48.613Z"},"x_adpType":"supplier"}]}}}