CVE-2025-38331 (GCVE-0-2025-38331)
Vulnerability from cvelistv5
Published
2025-07-10 08:15
Modified
2025-07-28 04:19
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: cortina: Use TOE/TSO on all TCP
It is desireable to push the hardware accelerator to also
process non-segmented TCP frames: we pass the skb->len
to the "TOE/TSO" offloader and it will handle them.
Without this quirk the driver becomes unstable and lock
up and and crash.
I do not know exactly why, but it is probably due to the
TOE (TCP offload engine) feature that is coupled with the
segmentation feature - it is not possible to turn one
part off and not the other, either both TOE and TSO are
active, or neither of them.
Not having the TOE part active seems detrimental, as if
that hardware feature is not really supposed to be turned
off.
The datasheet says:
"Based on packet parsing and TCP connection/NAT table
lookup results, the NetEngine puts the packets
belonging to the same TCP connection to the same queue
for the software to process. The NetEngine puts
incoming packets to the buffer or series of buffers
for a jumbo packet. With this hardware acceleration,
IP/TCP header parsing, checksum validation and
connection lookup are offloaded from the software
processing."
After numerous tests with the hardware locking up after
something between minutes and hours depending on load
using iperf3 I have concluded this is necessary to stabilize
the hardware.
References
Impacted products
Vendor | Product | Version | |||||||
---|---|---|---|---|---|---|---|---|---|
▼ | Linux | Linux |
Version: 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 Version: 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 Version: 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 Version: 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 Version: 4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88 |
||||||
|
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/net/ethernet/cortina/gemini.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "1b503b790109d19710ec83c589c3ee59e95347ec", "status": "affected", "version": "4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88", "versionType": "git" }, { "lessThan": "a37888a435b0737128d2d9c6f67b8d608f83df7a", "status": "affected", "version": "4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88", "versionType": "git" }, { "lessThan": "2bd434bb0eeb680c2b3dd6c68ca319b30cb8d47f", "status": "affected", "version": "4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88", "versionType": "git" }, { "lessThan": "ebe12e232f1d58ebb4b53b6d9149962b707bed91", "status": "affected", "version": "4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88", "versionType": "git" }, { "lessThan": "6a07e3af4973402fa199a80036c10060b922c92c", "status": "affected", "version": "4d5ae32f5e1e13f7f36d6439ec3257993b9f5b88", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/net/ethernet/cortina/gemini.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "4.16" }, { "lessThan": "4.16", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.142", "versionType": "semver" }, { "lessThanOrEqual": "6.6.*", "status": "unaffected", "version": "6.6.95", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.35", "versionType": "semver" }, { "lessThanOrEqual": "6.15.*", "status": "unaffected", "version": "6.15.4", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.16", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.142", "versionStartIncluding": "4.16", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.6.95", "versionStartIncluding": "4.16", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.35", "versionStartIncluding": "4.16", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.15.4", "versionStartIncluding": "4.16", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.16", "versionStartIncluding": "4.16", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethernet: cortina: Use TOE/TSO on all TCP\n\nIt is desireable to push the hardware accelerator to also\nprocess non-segmented TCP frames: we pass the skb-\u003elen\nto the \"TOE/TSO\" offloader and it will handle them.\n\nWithout this quirk the driver becomes unstable and lock\nup and and crash.\n\nI do not know exactly why, but it is probably due to the\nTOE (TCP offload engine) feature that is coupled with the\nsegmentation feature - it is not possible to turn one\npart off and not the other, either both TOE and TSO are\nactive, or neither of them.\n\nNot having the TOE part active seems detrimental, as if\nthat hardware feature is not really supposed to be turned\noff.\n\nThe datasheet says:\n\n \"Based on packet parsing and TCP connection/NAT table\n lookup results, the NetEngine puts the packets\n belonging to the same TCP connection to the same queue\n for the software to process. The NetEngine puts\n incoming packets to the buffer or series of buffers\n for a jumbo packet. With this hardware acceleration,\n IP/TCP header parsing, checksum validation and\n connection lookup are offloaded from the software\n processing.\"\n\nAfter numerous tests with the hardware locking up after\nsomething between minutes and hours depending on load\nusing iperf3 I have concluded this is necessary to stabilize\nthe hardware." } ], "providerMetadata": { "dateUpdated": "2025-07-28T04:19:04.500Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/1b503b790109d19710ec83c589c3ee59e95347ec" }, { "url": "https://git.kernel.org/stable/c/a37888a435b0737128d2d9c6f67b8d608f83df7a" }, { "url": "https://git.kernel.org/stable/c/2bd434bb0eeb680c2b3dd6c68ca319b30cb8d47f" }, { "url": "https://git.kernel.org/stable/c/ebe12e232f1d58ebb4b53b6d9149962b707bed91" }, { "url": "https://git.kernel.org/stable/c/6a07e3af4973402fa199a80036c10060b922c92c" } ], "title": "net: ethernet: cortina: Use TOE/TSO on all TCP", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-38331", "datePublished": "2025-07-10T08:15:04.436Z", "dateReserved": "2025-04-16T04:51:24.005Z", "dateUpdated": "2025-07-28T04:19:04.500Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-38331\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-10T09:15:27.533\",\"lastModified\":\"2025-07-10T13:17:30.017\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: ethernet: cortina: Use TOE/TSO on all TCP\\n\\nIt is desireable to push the hardware accelerator to also\\nprocess non-segmented TCP frames: we pass the skb-\u003elen\\nto the \\\"TOE/TSO\\\" offloader and it will handle them.\\n\\nWithout this quirk the driver becomes unstable and lock\\nup and and crash.\\n\\nI do not know exactly why, but it is probably due to the\\nTOE (TCP offload engine) feature that is coupled with the\\nsegmentation feature - it is not possible to turn one\\npart off and not the other, either both TOE and TSO are\\nactive, or neither of them.\\n\\nNot having the TOE part active seems detrimental, as if\\nthat hardware feature is not really supposed to be turned\\noff.\\n\\nThe datasheet says:\\n\\n \\\"Based on packet parsing and TCP connection/NAT table\\n lookup results, the NetEngine puts the packets\\n belonging to the same TCP connection to the same queue\\n for the software to process. The NetEngine puts\\n incoming packets to the buffer or series of buffers\\n for a jumbo packet. With this hardware acceleration,\\n IP/TCP header parsing, checksum validation and\\n connection lookup are offloaded from the software\\n processing.\\\"\\n\\nAfter numerous tests with the hardware locking up after\\nsomething between minutes and hours depending on load\\nusing iperf3 I have concluded this is necessary to stabilize\\nthe hardware.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1b503b790109d19710ec83c589c3ee59e95347ec\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2bd434bb0eeb680c2b3dd6c68ca319b30cb8d47f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6a07e3af4973402fa199a80036c10060b922c92c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a37888a435b0737128d2d9c6f67b8d608f83df7a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ebe12e232f1d58ebb4b53b6d9149962b707bed91\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…