In the Linux kernel, the following vulnerability has been resolved:
ipv6: sr: fix memleak in seg6hmacinit_algo
seg6hmacinit_algo returns without cleaning up the previous allocations if one fails, so it's going to leak all that memory and the crypto tfms.
Update seg6hmacexit to only free the memory when allocated, so we can reuse the code directly.
[
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"153627370545817296954894668337287279019",
"216743059058617852999415434789769930898",
"294253303469303124540489070510118019178",
"21710791431891194041738986449999231020",
"142267579025431066685154396752120718428",
"124935921146355029362937724723037317128",
"331401182281413928031195565157986685039",
"338224173995314781560055671239161995675",
"170082452395546646299464592755636613430",
"209694577831808372368179142601725168257",
"173425458963980191914694582247170982983",
"100629834477948737153716034705910349309",
"50153290996745275761964184957547192248",
"82306154757149829185375153197617295243",
"128175562745364421131193693570270523105",
"243985696875829614621346703532618011344",
"272471636335488567754970471434038796086",
"222470528611792500482150507657793302506",
"60541410644252847158339666002823243667",
"59024582722393756537727878202369300932",
"306903181266564485930209355680757842447",
"136771098703165366010884038227444415559",
"267868390585593816517915983992887850017",
"31199026503181011042605173862255342032",
"133316413233291816425102046934263264807",
"230850957634634923985569441613304499564",
"12656799685694227354306299132257069252",
"261177736843930404088892548867047483921",
"120328056670799072617904481768900857467",
"239136545779690847475847691557217141946",
"16733002651806305848130831671184475590",
"1283725149739078239357426704735536775",
"20812519657235919008536571239095789281",
"46166582587601872216171586827521584597",
"300708466941199032510977775315033353847",
"255556297309272473985032912074118388532",
"282295934644528600771095288519826591088",
"228397330531900970598565432666702037773",
"94706024089918401121839096686639706166",
"276514730998318746128349894841764078661",
"113294006093725208223498125690212112230",
"226190738299078601834200638926267981908",
"121502887781195203223820736926289903614"
],
"threshold": 0.9
},
"target": {
"file": "net/ipv6/seg6_hmac.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@599a5654215092ac22bfc453f4fd3959c55ea821",
"signature_version": "v1",
"id": "CVE-2024-39489-162ad837"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"153627370545817296954894668337287279019",
"216743059058617852999415434789769930898",
"294253303469303124540489070510118019178",
"21710791431891194041738986449999231020",
"142267579025431066685154396752120718428",
"124935921146355029362937724723037317128",
"331401182281413928031195565157986685039",
"338224173995314781560055671239161995675",
"170082452395546646299464592755636613430",
"209694577831808372368179142601725168257",
"173425458963980191914694582247170982983",
"100629834477948737153716034705910349309",
"50153290996745275761964184957547192248",
"82306154757149829185375153197617295243",
"128175562745364421131193693570270523105",
"243985696875829614621346703532618011344",
"272471636335488567754970471434038796086",
"222470528611792500482150507657793302506",
"60541410644252847158339666002823243667",
"59024582722393756537727878202369300932",
"306903181266564485930209355680757842447",
"136771098703165366010884038227444415559",
"267868390585593816517915983992887850017",
"31199026503181011042605173862255342032",
"133316413233291816425102046934263264807",
"230850957634634923985569441613304499564",
"12656799685694227354306299132257069252",
"261177736843930404088892548867047483921",
"120328056670799072617904481768900857467",
"239136545779690847475847691557217141946",
"16733002651806305848130831671184475590",
"1283725149739078239357426704735536775",
"20812519657235919008536571239095789281",
"46166582587601872216171586827521584597",
"300708466941199032510977775315033353847",
"255556297309272473985032912074118388532",
"282295934644528600771095288519826591088",
"228397330531900970598565432666702037773",
"94706024089918401121839096686639706166",
"276514730998318746128349894841764078661",
"113294006093725208223498125690212112230",
"226190738299078601834200638926267981908",
"121502887781195203223820736926289903614"
],
"threshold": 0.9
},
"target": {
"file": "net/ipv6/seg6_hmac.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6a99ef4e056c20a138a95cc51332b2b96c8f383",
"signature_version": "v1",
"id": "CVE-2024-39489-3b89e974"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 840.0,
"function_hash": "158746615866455046154937600797682979554"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_init_algo"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@daf341e0a2318b813427d5a78788c86f4a7f02be",
"signature_version": "v1",
"id": "CVE-2024-39489-4f661a85"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 415.0,
"function_hash": "334625221006891551422529934249664231595"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_exit"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@daf341e0a2318b813427d5a78788c86f4a7f02be",
"signature_version": "v1",
"id": "CVE-2024-39489-78e47658"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 415.0,
"function_hash": "334625221006891551422529934249664231595"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_exit"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6a99ef4e056c20a138a95cc51332b2b96c8f383",
"signature_version": "v1",
"id": "CVE-2024-39489-7ad20cce"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 415.0,
"function_hash": "334625221006891551422529934249664231595"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_exit"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3fcf53725b70010d1cf869a2ba549fed6b8fb3",
"signature_version": "v1",
"id": "CVE-2024-39489-8d690eed"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"153627370545817296954894668337287279019",
"216743059058617852999415434789769930898",
"294253303469303124540489070510118019178",
"21710791431891194041738986449999231020",
"142267579025431066685154396752120718428",
"124935921146355029362937724723037317128",
"331401182281413928031195565157986685039",
"338224173995314781560055671239161995675",
"170082452395546646299464592755636613430",
"209694577831808372368179142601725168257",
"173425458963980191914694582247170982983",
"100629834477948737153716034705910349309",
"50153290996745275761964184957547192248",
"82306154757149829185375153197617295243",
"128175562745364421131193693570270523105",
"243985696875829614621346703532618011344",
"272471636335488567754970471434038796086",
"222470528611792500482150507657793302506",
"60541410644252847158339666002823243667",
"59024582722393756537727878202369300932",
"306903181266564485930209355680757842447",
"136771098703165366010884038227444415559",
"267868390585593816517915983992887850017",
"31199026503181011042605173862255342032",
"133316413233291816425102046934263264807",
"230850957634634923985569441613304499564",
"12656799685694227354306299132257069252",
"261177736843930404088892548867047483921",
"120328056670799072617904481768900857467",
"239136545779690847475847691557217141946",
"16733002651806305848130831671184475590",
"1283725149739078239357426704735536775",
"20812519657235919008536571239095789281",
"46166582587601872216171586827521584597",
"300708466941199032510977775315033353847",
"255556297309272473985032912074118388532",
"282295934644528600771095288519826591088",
"228397330531900970598565432666702037773",
"94706024089918401121839096686639706166",
"276514730998318746128349894841764078661",
"113294006093725208223498125690212112230",
"226190738299078601834200638926267981908",
"121502887781195203223820736926289903614"
],
"threshold": 0.9
},
"target": {
"file": "net/ipv6/seg6_hmac.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3fcf53725b70010d1cf869a2ba549fed6b8fb3",
"signature_version": "v1",
"id": "CVE-2024-39489-8e86bb56"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 840.0,
"function_hash": "158746615866455046154937600797682979554"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_init_algo"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@599a5654215092ac22bfc453f4fd3959c55ea821",
"signature_version": "v1",
"id": "CVE-2024-39489-a5dba396"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"153627370545817296954894668337287279019",
"216743059058617852999415434789769930898",
"294253303469303124540489070510118019178",
"21710791431891194041738986449999231020",
"142267579025431066685154396752120718428",
"124935921146355029362937724723037317128",
"331401182281413928031195565157986685039",
"338224173995314781560055671239161995675",
"170082452395546646299464592755636613430",
"209694577831808372368179142601725168257",
"173425458963980191914694582247170982983",
"100629834477948737153716034705910349309",
"50153290996745275761964184957547192248",
"82306154757149829185375153197617295243",
"128175562745364421131193693570270523105",
"243985696875829614621346703532618011344",
"272471636335488567754970471434038796086",
"222470528611792500482150507657793302506",
"60541410644252847158339666002823243667",
"59024582722393756537727878202369300932",
"306903181266564485930209355680757842447",
"136771098703165366010884038227444415559",
"267868390585593816517915983992887850017",
"31199026503181011042605173862255342032",
"133316413233291816425102046934263264807",
"230850957634634923985569441613304499564",
"12656799685694227354306299132257069252",
"261177736843930404088892548867047483921",
"120328056670799072617904481768900857467",
"239136545779690847475847691557217141946",
"16733002651806305848130831671184475590",
"1283725149739078239357426704735536775",
"20812519657235919008536571239095789281",
"46166582587601872216171586827521584597",
"300708466941199032510977775315033353847",
"255556297309272473985032912074118388532",
"282295934644528600771095288519826591088",
"228397330531900970598565432666702037773",
"94706024089918401121839096686639706166",
"276514730998318746128349894841764078661",
"113294006093725208223498125690212112230",
"226190738299078601834200638926267981908",
"121502887781195203223820736926289903614"
],
"threshold": 0.9
},
"target": {
"file": "net/ipv6/seg6_hmac.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@efb9f4f19f8e37fde43dfecebc80292d179f56c6",
"signature_version": "v1",
"id": "CVE-2024-39489-ab9b8e15"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 840.0,
"function_hash": "158746615866455046154937600797682979554"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_init_algo"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3fcf53725b70010d1cf869a2ba549fed6b8fb3",
"signature_version": "v1",
"id": "CVE-2024-39489-b6801016"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 415.0,
"function_hash": "334625221006891551422529934249664231595"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_exit"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@efb9f4f19f8e37fde43dfecebc80292d179f56c6",
"signature_version": "v1",
"id": "CVE-2024-39489-dc25644b"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 840.0,
"function_hash": "158746615866455046154937600797682979554"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_init_algo"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@efb9f4f19f8e37fde43dfecebc80292d179f56c6",
"signature_version": "v1",
"id": "CVE-2024-39489-e733fae4"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 415.0,
"function_hash": "334625221006891551422529934249664231595"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_exit"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@599a5654215092ac22bfc453f4fd3959c55ea821",
"signature_version": "v1",
"id": "CVE-2024-39489-efadb0ad"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 840.0,
"function_hash": "158746615866455046154937600797682979554"
},
"target": {
"file": "net/ipv6/seg6_hmac.c",
"function": "seg6_hmac_init_algo"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6a99ef4e056c20a138a95cc51332b2b96c8f383",
"signature_version": "v1",
"id": "CVE-2024-39489-fbc92715"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"153627370545817296954894668337287279019",
"216743059058617852999415434789769930898",
"294253303469303124540489070510118019178",
"21710791431891194041738986449999231020",
"142267579025431066685154396752120718428",
"124935921146355029362937724723037317128",
"331401182281413928031195565157986685039",
"338224173995314781560055671239161995675",
"170082452395546646299464592755636613430",
"209694577831808372368179142601725168257",
"173425458963980191914694582247170982983",
"100629834477948737153716034705910349309",
"50153290996745275761964184957547192248",
"82306154757149829185375153197617295243",
"128175562745364421131193693570270523105",
"243985696875829614621346703532618011344",
"272471636335488567754970471434038796086",
"222470528611792500482150507657793302506",
"60541410644252847158339666002823243667",
"59024582722393756537727878202369300932",
"306903181266564485930209355680757842447",
"136771098703165366010884038227444415559",
"267868390585593816517915983992887850017",
"31199026503181011042605173862255342032",
"133316413233291816425102046934263264807",
"230850957634634923985569441613304499564",
"12656799685694227354306299132257069252",
"261177736843930404088892548867047483921",
"120328056670799072617904481768900857467",
"239136545779690847475847691557217141946",
"16733002651806305848130831671184475590",
"1283725149739078239357426704735536775",
"20812519657235919008536571239095789281",
"46166582587601872216171586827521584597",
"300708466941199032510977775315033353847",
"255556297309272473985032912074118388532",
"282295934644528600771095288519826591088",
"228397330531900970598565432666702037773",
"94706024089918401121839096686639706166",
"276514730998318746128349894841764078661",
"113294006093725208223498125690212112230",
"226190738299078601834200638926267981908",
"121502887781195203223820736926289903614"
],
"threshold": 0.9
},
"target": {
"file": "net/ipv6/seg6_hmac.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@daf341e0a2318b813427d5a78788c86f4a7f02be",
"signature_version": "v1",
"id": "CVE-2024-39489-fdbc51b1"
}
]