In the Linux kernel, the following vulnerability has been resolved:
net/sched: act_skbmod: Skip non-Ethernet packets
Currently tcf_skbmod_act() assumes that packets use Ethernet as their L2
protocol, which is not always the case. As an example, for CAN devices:
$ ip link add dev vcan0 type vcan
$ ip link set up vcan0
$ tc qdisc add dev vcan0 root handle 1: htb
$ tc filter add dev vcan0 parent 1: protocol ip prio 10 \
matchall action skbmod swap mac
Doing the above silently corrupts all the packets. Do not perform skbmod
actions for non-Ethernet packets.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/sched/act_skbmod.c"
],
"versions": [
{
"version": "86da71b57383",
"lessThan": "e4fdca366806",
"status": "affected",
"versionType": "git"
},
{
"version": "86da71b57383",
"lessThan": "a88414fb1117",
"status": "affected",
"versionType": "git"
},
{
"version": "86da71b57383",
"lessThan": "071729150be9",
"status": "affected",
"versionType": "git"
},
{
"version": "86da71b57383",
"lessThan": "34f1e1f657fa",
"status": "affected",
"versionType": "git"
},
{
"version": "86da71b57383",
"lessThan": "727d6a8b7ef3",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/sched/act_skbmod.c"
],
"versions": [
{
"version": "4.9",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.9",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.199",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.136",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.54",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.13.6",
"lessThanOrEqual": "5.13.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.14",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/071729150be9e1d1b851b70efb6d91ee9269d57b
git.kernel.org/stable/c/34f1e1f657fae2891b485a3b2b95fe4d2aef9f0d
git.kernel.org/stable/c/727d6a8b7ef3d25080fad228b2c4a1d4da5999c6
git.kernel.org/stable/c/a88414fb1117f2fe65fb88e45ba694e1d09d5024
git.kernel.org/stable/c/e4fdca366806f6bab374d1a95e626a10a3854b0c