CVE-2024-56717 (GCVE-0-2024-56717)
Vulnerability from cvelistv5 – Published: 2024-12-29 08:48 – Updated: 2025-11-03 20:53
VLAI?
Title
net: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()
Packets injected by the CPU should have a SRC_PORT field equal to the
CPU port module index in the Analyzer block (ocelot->num_phys_ports).
The blamed commit copied the ocelot_ifh_set_basic() call incorrectly
from ocelot_xmit_common() in net/dsa/tag_ocelot.c. Instead of calling
with "x", it calls with BIT_ULL(x), but the field is not a port mask,
but rather a single port index.
[ side note: this is the technical debt of code duplication :( ]
The error used to be silent and doesn't appear to have other
user-visible manifestations, but with new changes in the packing
library, it now fails loudly as follows:
------------[ cut here ]------------
Cannot store 0x40 inside bits 46-43 - will truncate
sja1105 spi2.0: xmit timed out
WARNING: CPU: 1 PID: 102 at lib/packing.c:98 __pack+0x90/0x198
sja1105 spi2.0: timed out polling for tstamp
CPU: 1 UID: 0 PID: 102 Comm: felix_xmit
Tainted: G W N 6.13.0-rc1-00372-gf706b85d972d-dirty #2605
Call trace:
__pack+0x90/0x198 (P)
__pack+0x90/0x198 (L)
packing+0x78/0x98
ocelot_ifh_set_basic+0x260/0x368
ocelot_port_inject_frame+0xa8/0x250
felix_port_deferred_xmit+0x14c/0x258
kthread_worker_fn+0x134/0x350
kthread+0x114/0x138
The code path pertains to the ocelot switchdev driver and to the felix
secondary DSA tag protocol, ocelot-8021q. Here seen with ocelot-8021q.
The messenger (packing) is not really to blame, so fix the original
commit instead.
Severity ?
5.5 (Medium)
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
06bcb9032e05ad717f9fd0a6e2fd3ae7f430fa31 , < 59c4ca8d8d7918eb6e2df91d2c254827264be309
(git)
Affected: ff7f554bbd75d5cbf00cded81d05147c6617e876 , < 2f3c62ffe88116cd2a39cd73e01103535599970f (git) Affected: e1b9e80236c540fa85d76e2d510d1b38e1968c5d , < a8836eae3288c351acd3b2743d2fad2a4ee2bd56 (git) Affected: e1b9e80236c540fa85d76e2d510d1b38e1968c5d , < 2d5df3a680ffdaf606baa10636bdb1daf757832e (git) Affected: be3a532167dd562ec38900c846e7ae6cc39aa2f1 (git) |
||
{
"containers": {
"adp": [
{
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
},
{
"other": {
"content": {
"id": "CVE-2024-56717",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-10-01T19:58:31.484052Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"description": "CWE-noinfo Not enough information",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-10-01T20:07:06.591Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2025-11-03T20:53:08.192Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/mscc/ocelot.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "59c4ca8d8d7918eb6e2df91d2c254827264be309",
"status": "affected",
"version": "06bcb9032e05ad717f9fd0a6e2fd3ae7f430fa31",
"versionType": "git"
},
{
"lessThan": "2f3c62ffe88116cd2a39cd73e01103535599970f",
"status": "affected",
"version": "ff7f554bbd75d5cbf00cded81d05147c6617e876",
"versionType": "git"
},
{
"lessThan": "a8836eae3288c351acd3b2743d2fad2a4ee2bd56",
"status": "affected",
"version": "e1b9e80236c540fa85d76e2d510d1b38e1968c5d",
"versionType": "git"
},
{
"lessThan": "2d5df3a680ffdaf606baa10636bdb1daf757832e",
"status": "affected",
"version": "e1b9e80236c540fa85d76e2d510d1b38e1968c5d",
"versionType": "git"
},
{
"status": "affected",
"version": "be3a532167dd562ec38900c846e7ae6cc39aa2f1",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/ethernet/mscc/ocelot.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.11"
},
{
"lessThan": "6.11",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.122",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.68",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.13",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.122",
"versionStartIncluding": "6.1.107",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.68",
"versionStartIncluding": "6.6.48",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.7",
"versionStartIncluding": "6.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.13",
"versionStartIncluding": "6.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.10.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()\n\nPackets injected by the CPU should have a SRC_PORT field equal to the\nCPU port module index in the Analyzer block (ocelot-\u003enum_phys_ports).\n\nThe blamed commit copied the ocelot_ifh_set_basic() call incorrectly\nfrom ocelot_xmit_common() in net/dsa/tag_ocelot.c. Instead of calling\nwith \"x\", it calls with BIT_ULL(x), but the field is not a port mask,\nbut rather a single port index.\n\n[ side note: this is the technical debt of code duplication :( ]\n\nThe error used to be silent and doesn\u0027t appear to have other\nuser-visible manifestations, but with new changes in the packing\nlibrary, it now fails loudly as follows:\n\n------------[ cut here ]------------\nCannot store 0x40 inside bits 46-43 - will truncate\nsja1105 spi2.0: xmit timed out\nWARNING: CPU: 1 PID: 102 at lib/packing.c:98 __pack+0x90/0x198\nsja1105 spi2.0: timed out polling for tstamp\nCPU: 1 UID: 0 PID: 102 Comm: felix_xmit\nTainted: G W N 6.13.0-rc1-00372-gf706b85d972d-dirty #2605\nCall trace:\n __pack+0x90/0x198 (P)\n __pack+0x90/0x198 (L)\n packing+0x78/0x98\n ocelot_ifh_set_basic+0x260/0x368\n ocelot_port_inject_frame+0xa8/0x250\n felix_port_deferred_xmit+0x14c/0x258\n kthread_worker_fn+0x134/0x350\n kthread+0x114/0x138\n\nThe code path pertains to the ocelot switchdev driver and to the felix\nsecondary DSA tag protocol, ocelot-8021q. Here seen with ocelot-8021q.\n\nThe messenger (packing) is not really to blame, so fix the original\ncommit instead."
}
],
"providerMetadata": {
"dateUpdated": "2025-05-04T13:01:16.931Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/59c4ca8d8d7918eb6e2df91d2c254827264be309"
},
{
"url": "https://git.kernel.org/stable/c/2f3c62ffe88116cd2a39cd73e01103535599970f"
},
{
"url": "https://git.kernel.org/stable/c/a8836eae3288c351acd3b2743d2fad2a4ee2bd56"
},
{
"url": "https://git.kernel.org/stable/c/2d5df3a680ffdaf606baa10636bdb1daf757832e"
}
],
"title": "net: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-56717",
"datePublished": "2024-12-29T08:48:49.958Z",
"dateReserved": "2024-12-27T15:00:39.858Z",
"dateUpdated": "2025-11-03T20:53:08.192Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.5, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-56717\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T19:58:31.484052Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"description\": \"CWE-noinfo Not enough information\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T15:47:52.468Z\"}}], \"cna\": {\"title\": \"net: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"06bcb9032e05ad717f9fd0a6e2fd3ae7f430fa31\", \"lessThan\": \"59c4ca8d8d7918eb6e2df91d2c254827264be309\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"ff7f554bbd75d5cbf00cded81d05147c6617e876\", \"lessThan\": \"2f3c62ffe88116cd2a39cd73e01103535599970f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e1b9e80236c540fa85d76e2d510d1b38e1968c5d\", \"lessThan\": \"a8836eae3288c351acd3b2743d2fad2a4ee2bd56\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"e1b9e80236c540fa85d76e2d510d1b38e1968c5d\", \"lessThan\": \"2d5df3a680ffdaf606baa10636bdb1daf757832e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"be3a532167dd562ec38900c846e7ae6cc39aa2f1\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/net/ethernet/mscc/ocelot.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"6.11\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.11\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.122\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.68\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.7\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/net/ethernet/mscc/ocelot.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/59c4ca8d8d7918eb6e2df91d2c254827264be309\"}, {\"url\": \"https://git.kernel.org/stable/c/2f3c62ffe88116cd2a39cd73e01103535599970f\"}, {\"url\": \"https://git.kernel.org/stable/c/a8836eae3288c351acd3b2743d2fad2a4ee2bd56\"}, {\"url\": \"https://git.kernel.org/stable/c/2d5df3a680ffdaf606baa10636bdb1daf757832e\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: mscc: ocelot: fix incorrect IFH SRC_PORT field in ocelot_ifh_set_basic()\\n\\nPackets injected by the CPU should have a SRC_PORT field equal to the\\nCPU port module index in the Analyzer block (ocelot-\u003enum_phys_ports).\\n\\nThe blamed commit copied the ocelot_ifh_set_basic() call incorrectly\\nfrom ocelot_xmit_common() in net/dsa/tag_ocelot.c. Instead of calling\\nwith \\\"x\\\", it calls with BIT_ULL(x), but the field is not a port mask,\\nbut rather a single port index.\\n\\n[ side note: this is the technical debt of code duplication :( ]\\n\\nThe error used to be silent and doesn\u0027t appear to have other\\nuser-visible manifestations, but with new changes in the packing\\nlibrary, it now fails loudly as follows:\\n\\n------------[ cut here ]------------\\nCannot store 0x40 inside bits 46-43 - will truncate\\nsja1105 spi2.0: xmit timed out\\nWARNING: CPU: 1 PID: 102 at lib/packing.c:98 __pack+0x90/0x198\\nsja1105 spi2.0: timed out polling for tstamp\\nCPU: 1 UID: 0 PID: 102 Comm: felix_xmit\\nTainted: G W N 6.13.0-rc1-00372-gf706b85d972d-dirty #2605\\nCall trace:\\n __pack+0x90/0x198 (P)\\n __pack+0x90/0x198 (L)\\n packing+0x78/0x98\\n ocelot_ifh_set_basic+0x260/0x368\\n ocelot_port_inject_frame+0xa8/0x250\\n felix_port_deferred_xmit+0x14c/0x258\\n kthread_worker_fn+0x134/0x350\\n kthread+0x114/0x138\\n\\nThe code path pertains to the ocelot switchdev driver and to the felix\\nsecondary DSA tag protocol, ocelot-8021q. Here seen with ocelot-8021q.\\n\\nThe messenger (packing) is not really to blame, so fix the original\\ncommit instead.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.122\", \"versionStartIncluding\": \"6.1.107\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.68\", \"versionStartIncluding\": \"6.6.48\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.7\", \"versionStartIncluding\": \"6.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.13\", \"versionStartIncluding\": \"6.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"6.10.7\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T13:01:16.931Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2024-56717\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-10-01T20:07:06.591Z\", \"dateReserved\": \"2024-12-27T15:00:39.858Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-12-29T08:48:49.958Z\", \"assignerShortName\": \"Linux\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…