In the Linux kernel, the following vulnerability has been resolved:
net: sched: sfb: fix null pointer access issue when sfb_init() fails
When the default qdisc is sfb, if the qdisc of devqueue fails to be inited during mqprioinit(), sfb_reset() is invoked to clear resources. In this case, the q->qdisc is NULL, and it will cause gpf issue.
The process is as follows: qdisccreatedflt() sfbinit() tcfblockget() --->failed, q->qdisc is NULL ... qdiscput() ... sfbreset() qdiscreset(q->qdisc) --->q->qdisc is NULL ops = qdisc->ops
The following is the Call Trace information: general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f] RIP: 0010:qdiscreset+0x2b/0x6f0 Call Trace: <TASK> sfbreset+0x37/0xd0 qdiscreset+0xed/0x6f0 qdiscdestroy+0x82/0x4c0 qdiscput+0x9e/0xb0 qdisccreatedflt+0x2c3/0x4a0 mqprioinit+0xa71/0x1760 qdisccreate+0x3eb/0x1000 tcmodifyqdisc+0x408/0x1720 rtnetlinkrcvmsg+0x38e/0xac0 netlinkrcvskb+0x12d/0x3a0 netlinkunicast+0x4a2/0x740 netlinksendmsg+0x826/0xcc0 socksendmsg+0xc5/0x100 _syssendmsg+0x583/0x690 syssendmsg+0xe8/0x160 _syssendmsg+0xbf/0x160 dosyscall64+0x35/0x80 entrySYSCALL64afterhwframe+0x46/0xb0 RIP: 0033:0x7f2164122d04 </TASK>
[
{
"deprecated": false,
"id": "CVE-2022-50356-0b0f52ab",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@723399af2795fb95687a531c9480464b5f489333",
"digest": {
"line_hashes": [
"237580670326447988749915000506219548651",
"168548605203693156158980131982013796371",
"263487831554104180273465504775858389180",
"310099180941945897208101398773293389044"
],
"threshold": 0.9
},
"target": {
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-69cfafce",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2a3fc78210b9f0e85372a2435368962009f480fc",
"digest": {
"line_hashes": [
"237580670326447988749915000506219548651",
"168548605203693156158980131982013796371",
"263487831554104180273465504775858389180",
"310099180941945897208101398773293389044"
],
"threshold": 0.9
},
"target": {
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-9040ca0a",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ded86c4191a3c17f8200d17a7d8a6f63b74554ae",
"digest": {
"function_hash": "6753455621857197425033314293224904443",
"length": 200.0
},
"target": {
"function": "sfb_reset",
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-a79f0768",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ded86c4191a3c17f8200d17a7d8a6f63b74554ae",
"digest": {
"line_hashes": [
"237580670326447988749915000506219548651",
"168548605203693156158980131982013796371",
"263487831554104180273465504775858389180",
"310099180941945897208101398773293389044"
],
"threshold": 0.9
},
"target": {
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-b504c355",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@723399af2795fb95687a531c9480464b5f489333",
"digest": {
"function_hash": "6753455621857197425033314293224904443",
"length": 200.0
},
"target": {
"function": "sfb_reset",
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-c06b60df",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2e1e59d59fafe297779ceae1fe0e6fbebc3e745",
"digest": {
"line_hashes": [
"237580670326447988749915000506219548651",
"168548605203693156158980131982013796371",
"263487831554104180273465504775858389180",
"310099180941945897208101398773293389044"
],
"threshold": 0.9
},
"target": {
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Line",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-cd01b672",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2e1e59d59fafe297779ceae1fe0e6fbebc3e745",
"digest": {
"function_hash": "6753455621857197425033314293224904443",
"length": 200.0
},
"target": {
"function": "sfb_reset",
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Function",
"signature_version": "v1"
},
{
"deprecated": false,
"id": "CVE-2022-50356-d149d327",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2a3fc78210b9f0e85372a2435368962009f480fc",
"digest": {
"function_hash": "6753455621857197425033314293224904443",
"length": 200.0
},
"target": {
"function": "sfb_reset",
"file": "net/sched/sch_sfb.c"
},
"signature_type": "Function",
"signature_version": "v1"
}
]