In the Linux kernel, the following vulnerability has been resolved:
net: mctp: take ownership of skb in mctplocaloutput
Currently, mctplocaloutput only takes ownership of skb on success, and we may leak an skb if mctplocaloutput fails in specific states; the skb ownership isn't transferred until the actual output routing occurs.
Instead, make mctplocaloutput free the skb on all error paths up to the route action, so it always consumes the passed skb.
[
{
"id": "CVE-2024-27418-02533a33",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a639441c880ac479495e5ab37e3c29f21ae5771b",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "net/mctp/route.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"169154541564225413285292491794675047730",
"70077343444438639277775535874915579454",
"136597573669856433216641724527882506652",
"188702749759457363120972570225471975350",
"335352559520697964503703470903528144926",
"218975542163605580779584854593371779556",
"137591691809033937525256792378272001247",
"58842588577594266193200876452680762421",
"54395473412109098785461435680667127254",
"116003468230321547799027379498892699859",
"46258284087205771180421514880674817015",
"267656662058333552751125942154619144404",
"295902405144230405955990980847063049780",
"157345914817278339543940684369869078635",
"247771655723590564984157167542702336258"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2024-27418-165edad3",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a639441c880ac479495e5ab37e3c29f21ae5771b",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "mctp_local_output",
"file": "net/mctp/route.c"
},
"digest": {
"function_hash": "67329696690158115368203754178793330658",
"length": 2058.0
},
"signature_type": "Function"
},
{
"id": "CVE-2024-27418-392e303d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a3c8fa54e904b0ddb52a08cc2d8ac239054f61fd",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "net/mctp/route.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"169154541564225413285292491794675047730",
"70077343444438639277775535874915579454",
"136597573669856433216641724527882506652",
"188702749759457363120972570225471975350",
"335352559520697964503703470903528144926",
"218975542163605580779584854593371779556",
"137591691809033937525256792378272001247",
"58842588577594266193200876452680762421",
"54395473412109098785461435680667127254",
"116003468230321547799027379498892699859",
"46258284087205771180421514880674817015",
"267656662058333552751125942154619144404",
"295902405144230405955990980847063049780",
"157345914817278339543940684369869078635",
"247771655723590564984157167542702336258"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2024-27418-4995536f",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3773d65ae5154ed7df404b050fd7387a36ab5ef3",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "net/mctp/route.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"169154541564225413285292491794675047730",
"70077343444438639277775535874915579454",
"136597573669856433216641724527882506652",
"188702749759457363120972570225471975350",
"335352559520697964503703470903528144926",
"218975542163605580779584854593371779556",
"137591691809033937525256792378272001247",
"58842588577594266193200876452680762421",
"54395473412109098785461435680667127254",
"116003468230321547799027379498892699859",
"46258284087205771180421514880674817015",
"267656662058333552751125942154619144404",
"295902405144230405955990980847063049780",
"157345914817278339543940684369869078635",
"247771655723590564984157167542702336258"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2024-27418-9eec122d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbebc55ceacef1fc0651e80e0103cc184552fc68",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "net/mctp/route.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"169154541564225413285292491794675047730",
"70077343444438639277775535874915579454",
"136597573669856433216641724527882506652",
"188702749759457363120972570225471975350",
"335352559520697964503703470903528144926",
"218975542163605580779584854593371779556",
"137591691809033937525256792378272001247",
"58842588577594266193200876452680762421",
"54395473412109098785461435680667127254",
"116003468230321547799027379498892699859",
"46258284087205771180421514880674817015",
"267656662058333552751125942154619144404",
"295902405144230405955990980847063049780",
"157345914817278339543940684369869078635",
"247771655723590564984157167542702336258"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2024-27418-b37235bc",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a3c8fa54e904b0ddb52a08cc2d8ac239054f61fd",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "mctp_local_output",
"file": "net/mctp/route.c"
},
"digest": {
"function_hash": "67329696690158115368203754178793330658",
"length": 2058.0
},
"signature_type": "Function"
},
{
"id": "CVE-2024-27418-d13abd99",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3773d65ae5154ed7df404b050fd7387a36ab5ef3",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "mctp_local_output",
"file": "net/mctp/route.c"
},
"digest": {
"function_hash": "67329696690158115368203754178793330658",
"length": 2058.0
},
"signature_type": "Function"
},
{
"id": "CVE-2024-27418-d72eec92",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cbebc55ceacef1fc0651e80e0103cc184552fc68",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "mctp_local_output",
"file": "net/mctp/route.c"
},
"digest": {
"function_hash": "67329696690158115368203754178793330658",
"length": 2058.0
},
"signature_type": "Function"
}
]