In the Linux kernel, the following vulnerability has been resolved:
ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
In enic_hard_start_xmit, it calls enic_queue_wq_skb(). Inside
enic_queue_wq_skb, if some error happens, the skb will be freed
by dev_kfree_skb(skb). But the freed skb is still used in
skb_tx_timestamp(skb).
My patch makes enic_queue_wq_skb() return error and goto spin_unlock()
incase of error. The solution is provided by Govind.
See https://lkml.org/lkml/2021/4/30/961.
Vendor | Product | Version | CPE |
---|---|---|---|
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/net/ethernet/cisco/enic/enic_main.c"
],
"versions": [
{
"version": "fb7516d42478",
"lessThan": "25a87b1f566b",
"status": "affected",
"versionType": "git"
},
{
"version": "fb7516d42478",
"lessThan": "f7f6f0777409",
"status": "affected",
"versionType": "git"
},
{
"version": "fb7516d42478",
"lessThan": "7afdd6aba95c",
"status": "affected",
"versionType": "git"
},
{
"version": "fb7516d42478",
"lessThan": "6892396ebf04",
"status": "affected",
"versionType": "git"
},
{
"version": "fb7516d42478",
"lessThan": "d90529392aaf",
"status": "affected",
"versionType": "git"
},
{
"version": "fb7516d42478",
"lessThan": "643001b47adc",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/net/ethernet/cisco/enic/enic_main.c"
],
"versions": [
{
"version": "4.16",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.16",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.191",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.120",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.38",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.11.22",
"lessThanOrEqual": "5.11.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.12.5",
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.13",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/25a87b1f566b5eb2af2857a928f0e2310d900976
git.kernel.org/stable/c/643001b47adc844ae33510c4bb93c236667008a3
git.kernel.org/stable/c/6892396ebf04ea2c021d80e10f4075e014cd7cc3
git.kernel.org/stable/c/7afdd6aba95c8a526038e7abe283eeac3e4320f1
git.kernel.org/stable/c/d90529392aaf498dafa95d212295d64b2cea4e24
git.kernel.org/stable/c/f7f6f07774091a6ddd98500b85386c3c6afb30d3