In the Linux kernel, the following vulnerability has been resolved:
tun: limit printing rate when illegal packet received by tun dev
vhostworker will call tun call backs to receive packets. If too many illegal packets arrives, tundo_read will keep dumping packet contents. When console is enabled, it will costs much more cpu time to dump packet and soft lockup will be detected.
net_ratelimit mechanism can be used to limit the dumping rate.
PID: 33036 TASK: ffff949da6f20000 CPU: 23 COMMAND: "vhost-32980" #0 [fffffe00003fce50] crashnmicallback at ffffffff89249253 #1 [fffffe00003fce58] nmihandle at ffffffff89225fa3 #2 [fffffe00003fceb0] defaultdonmi at ffffffff8922642e #3 [fffffe00003fced0] donmi at ffffffff8922660d #4 [fffffe00003fcef0] endrepeatnmi at ffffffff89c01663 [exception RIP: ioserialin+20] RIP: ffffffff89792594 RSP: ffffa655314979e8 RFLAGS: 00000002 RAX: ffffffff89792500 RBX: ffffffff8af428a0 RCX: 0000000000000000 RDX: 00000000000003fd RSI: 0000000000000005 RDI: ffffffff8af428a0 RBP: 0000000000002710 R8: 0000000000000004 R9: 000000000000000f R10: 0000000000000000 R11: ffffffff8acbf64f R12: 0000000000000020 R13: ffffffff8acbf698 R14: 0000000000000058 R15: 0000000000000000 ORIGRAX: ffffffffffffffff CS: 0010 SS: 0018 #5 [ffffa655314979e8] ioserialin at ffffffff89792594 #6 [ffffa655314979e8] waitforxmitr at ffffffff89793470 #7 [ffffa65531497a08] serial8250consoleputchar at ffffffff897934f6 #8 [ffffa65531497a20] uartconsolewrite at ffffffff8978b605 #9 [ffffa65531497a48] serial8250consolewrite at ffffffff89796558 #10 [ffffa65531497ac8] consoleunlock at ffffffff89316124 #11 [ffffa65531497b10] vprintkemit at ffffffff89317c07 #12 [ffffa65531497b68] printk at ffffffff89318306 #13 [ffffa65531497bc8] printhexdump at ffffffff89650765 #14 [ffffa65531497ca8] tundoread at ffffffffc0b06c27 [tun] #15 [ffffa65531497d38] tunrecvmsg at ffffffffc0b06e34 [tun] #16 [ffffa65531497d68] handlerx at ffffffffc0c5d682 [vhostnet] #17 [ffffa65531497ed0] vhostworker at ffffffffc0c644dc [vhost] #18 [ffffa65531497f10] kthread at ffffffff892d2e72 #19 [ffffa65531497f50] retfrom_fork at ffffffff89c0022f
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@40f4ced305c6c47487d3cd8da54676e2acc1a6ad",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-227bcbe8",
"signature_type": "Function",
"digest": {
"length": 1856.0,
"function_hash": "88639169080450930680481998483573664608"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@68459b8e3ee554ce71878af9eb69659b9462c588",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-2f0fb4f8",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@62e27ef18eb4f0d33bbae8e9ef56b99696a74713",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-3223a7d1",
"signature_type": "Function",
"digest": {
"length": 1856.0,
"function_hash": "88639169080450930680481998483573664608"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b0dcae5c4797bf31c63011ed62917210d3fdac3",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-3be6cacf",
"signature_type": "Function",
"digest": {
"length": 1986.0,
"function_hash": "21867093450330082460228377612012409027"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8bbc07ac535593139c875ffa19af924b1084540",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-5374ecac",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b0dcae5c4797bf31c63011ed62917210d3fdac3",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-5ad19bdb",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14cdb43dbc827e18ac7d5b30c5b4c676219f1421",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-67b6328a",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a50dbeca28acf7051dfa92786b85f704c75db6eb",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-9a82cd11",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8bbc07ac535593139c875ffa19af924b1084540",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-9d184d95",
"signature_type": "Function",
"digest": {
"length": 1856.0,
"function_hash": "88639169080450930680481998483573664608"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@62e27ef18eb4f0d33bbae8e9ef56b99696a74713",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-bada878e",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@40f4ced305c6c47487d3cd8da54676e2acc1a6ad",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-c122f975",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14cdb43dbc827e18ac7d5b30c5b4c676219f1421",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-c345ff5e",
"signature_type": "Function",
"digest": {
"length": 2012.0,
"function_hash": "53421702848515159646511267976847020420"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@52854101180beccdb9dc2077a3bea31b6ad48dfa",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-c978ac7d",
"signature_type": "Function",
"digest": {
"length": 1856.0,
"function_hash": "88639169080450930680481998483573664608"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a50dbeca28acf7051dfa92786b85f704c75db6eb",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-d62f87b9",
"signature_type": "Function",
"digest": {
"length": 1856.0,
"function_hash": "88639169080450930680481998483573664608"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@52854101180beccdb9dc2077a3bea31b6ad48dfa",
"target": {
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-f7afbd15",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"156010317889351928204349496272237015310",
"181111159499111578370421303794149849124",
"204459655840696430559166838952185585875",
"224487865143486638028554290178588050616",
"104405904444033331929483175192118742924",
"330362089454092171384048672629926934520",
"156224668393791428357607934933133341911",
"122529947361804389891809323728388112489",
"271163213376048808466091057823618132600",
"236447744410506800617686396953681158018",
"228939916454344440592494598627426256872"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@68459b8e3ee554ce71878af9eb69659b9462c588",
"target": {
"function": "tun_put_user",
"file": "drivers/net/tun.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-27013-fba93574",
"signature_type": "Function",
"digest": {
"length": 1986.0,
"function_hash": "21867093450330082460228377612012409027"
}
}
]