In the Linux kernel, the following vulnerability has been resolved:
PM / devfreq: Fix buffer overflow in transstatshow
Fix buffer overflow in transstatshow().
Convert simple snprintf to the more secure scnprintf with size of PAGE_SIZE.
Add condition checking if we are exceeding PAGESIZE and exit early from loop. Also add at the end a warning that we exceeded PAGESIZE and that stats is disabled.
Return -EFBIG in the case where we don't have enough space to write the full transition table.
Also document in the ABI that this function can return -EFBIG error.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaef4650fa2050147ca25fd7ee43bc0082e03c87",
"id": "CVE-2023-52614-1ea3fac8",
"deprecated": false,
"target": {
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87470256232776065043242175180092722197",
"322618105367819277670249451210042156046",
"230894851405383398474226040812030436415",
"316344306039457717963863470253105438050",
"260012554322483203120281490611541693882",
"216524315260067525140814845558175322390",
"162528241202347380321923351347558168098",
"217080270615117085227809549380022847819",
"121292568168659330129937665903585397289",
"113485228828577472952086737962524708210",
"252852736763518384806254627483842291920",
"236019633370254094445129475665762236749",
"59693806098410353944698403543203820178",
"295110668576327931432319981929946642364",
"282706817404692858964649583654097120080",
"289798422856108347475614189756251493658",
"296812680366716229569959189157133118107",
"28522943929057415250410720015341712489",
"53940813629975479210658423134086178104",
"308672734832285444581043272500094752413",
"124745503937484549949407432640880322428",
"84836469981395746770391515685463151788",
"213482044177503501937472145323425034701",
"246443021753931937547236063349379306020",
"45049490242510736400910306503425975558",
"280558715859023014003625407393803264747",
"31976639805817839626429972299292538678",
"207539870136120631161513556793099409428",
"162581371310978962393842943281163034970",
"267005402431289188509285767387142444628",
"153875314570599396340777914299520589205"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a979f56aa4b93579cf0e4265ae04d7e9300fd3e8",
"id": "CVE-2023-52614-2eef9ee2",
"deprecated": false,
"target": {
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87470256232776065043242175180092722197",
"322618105367819277670249451210042156046",
"230894851405383398474226040812030436415",
"316344306039457717963863470253105438050",
"260012554322483203120281490611541693882",
"216524315260067525140814845558175322390",
"162528241202347380321923351347558168098",
"217080270615117085227809549380022847819",
"121292568168659330129937665903585397289",
"113485228828577472952086737962524708210",
"252852736763518384806254627483842291920",
"236019633370254094445129475665762236749",
"59693806098410353944698403543203820178",
"295110668576327931432319981929946642364",
"282706817404692858964649583654097120080",
"289798422856108347475614189756251493658",
"296812680366716229569959189157133118107",
"28522943929057415250410720015341712489",
"53940813629975479210658423134086178104",
"308672734832285444581043272500094752413",
"124745503937484549949407432640880322428",
"84836469981395746770391515685463151788",
"213482044177503501937472145323425034701",
"246443021753931937547236063349379306020",
"45049490242510736400910306503425975558",
"280558715859023014003625407393803264747",
"31976639805817839626429972299292538678",
"207539870136120631161513556793099409428",
"162581371310978962393842943281163034970",
"267005402431289188509285767387142444628",
"153875314570599396340777914299520589205"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a7729cda2dd276d7a3994638038fb89035b6f2c",
"id": "CVE-2023-52614-3e4c7268",
"deprecated": false,
"target": {
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87470256232776065043242175180092722197",
"322618105367819277670249451210042156046",
"230894851405383398474226040812030436415",
"316344306039457717963863470253105438050",
"260012554322483203120281490611541693882",
"216524315260067525140814845558175322390",
"162528241202347380321923351347558168098",
"217080270615117085227809549380022847819",
"121292568168659330129937665903585397289",
"113485228828577472952086737962524708210",
"252852736763518384806254627483842291920",
"236019633370254094445129475665762236749",
"59693806098410353944698403543203820178",
"295110668576327931432319981929946642364",
"282706817404692858964649583654097120080",
"289798422856108347475614189756251493658",
"296812680366716229569959189157133118107",
"28522943929057415250410720015341712489",
"53940813629975479210658423134086178104",
"308672734832285444581043272500094752413",
"124745503937484549949407432640880322428",
"84836469981395746770391515685463151788",
"213482044177503501937472145323425034701",
"246443021753931937547236063349379306020",
"45049490242510736400910306503425975558",
"280558715859023014003625407393803264747",
"31976639805817839626429972299292538678",
"207539870136120631161513556793099409428",
"162581371310978962393842943281163034970",
"267005402431289188509285767387142444628",
"153875314570599396340777914299520589205"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@796d3fad8c35ee9df9027899fb90ceaeb41b958f",
"id": "CVE-2023-52614-71b2c7a0",
"deprecated": false,
"target": {
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87470256232776065043242175180092722197",
"322618105367819277670249451210042156046",
"230894851405383398474226040812030436415",
"316344306039457717963863470253105438050",
"96747250319241082204756285039875356809",
"339722525172576098437964479674050995764",
"162528241202347380321923351347558168098",
"217080270615117085227809549380022847819",
"121292568168659330129937665903585397289",
"113485228828577472952086737962524708210",
"252852736763518384806254627483842291920",
"236019633370254094445129475665762236749",
"24141725864808250968016639505151144703",
"73341112193207545182183220192158111142",
"52388715372874180012026844622769438472",
"244455054818675782891769058390499490179",
"13302506000661335061638592156846409959",
"190619398543253606583029394257763122044",
"280300933761543347424493914015991332567",
"112689741158400467753602431937160470074",
"285836789975946831421253111789677008682",
"120427425473817223901919640907336093121",
"210464838817882167320060705545574788401",
"219515570526012229334846077172911592269",
"14674663435589304863679112899808640396",
"149135594988707897469431450738927086262",
"246443021753931937547236063349379306020",
"45049490242510736400910306503425975558",
"280558715859023014003625407393803264747",
"31976639805817839626429972299292538678",
"207539870136120631161513556793099409428",
"162581371310978962393842943281163034970",
"267005402431289188509285767387142444628",
"153875314570599396340777914299520589205"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08e23d05fa6dc4fc13da0ccf09defdd4bbc92ff4",
"id": "CVE-2023-52614-b99a19d6",
"deprecated": false,
"target": {
"function": "trans_stat_show",
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"length": 1326.0,
"function_hash": "333946324952977214339267902109119750724"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@796d3fad8c35ee9df9027899fb90ceaeb41b958f",
"id": "CVE-2023-52614-c1b138ef",
"deprecated": false,
"target": {
"function": "trans_stat_show",
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"length": 1378.0,
"function_hash": "299057814707887292612902811134985494969"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eaef4650fa2050147ca25fd7ee43bc0082e03c87",
"id": "CVE-2023-52614-cbea264f",
"deprecated": false,
"target": {
"function": "trans_stat_show",
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"length": 1326.0,
"function_hash": "333946324952977214339267902109119750724"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@087de000e4f8c878c81d9dd3725f00a1d292980c",
"id": "CVE-2023-52614-d96cdc26",
"deprecated": false,
"target": {
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87470256232776065043242175180092722197",
"322618105367819277670249451210042156046",
"230894851405383398474226040812030436415",
"316344306039457717963863470253105438050",
"96747250319241082204756285039875356809",
"339722525172576098437964479674050995764",
"162528241202347380321923351347558168098",
"217080270615117085227809549380022847819",
"121292568168659330129937665903585397289",
"113485228828577472952086737962524708210",
"252852736763518384806254627483842291920",
"236019633370254094445129475665762236749",
"24141725864808250968016639505151144703",
"73341112193207545182183220192158111142",
"52388715372874180012026844622769438472",
"244455054818675782891769058390499490179",
"13302506000661335061638592156846409959",
"190619398543253606583029394257763122044",
"280300933761543347424493914015991332567",
"112689741158400467753602431937160470074",
"285836789975946831421253111789677008682",
"120427425473817223901919640907336093121",
"210464838817882167320060705545574788401",
"219515570526012229334846077172911592269",
"14674663435589304863679112899808640396",
"149135594988707897469431450738927086262",
"246443021753931937547236063349379306020",
"45049490242510736400910306503425975558",
"280558715859023014003625407393803264747",
"31976639805817839626429972299292538678",
"207539870136120631161513556793099409428",
"162581371310978962393842943281163034970",
"267005402431289188509285767387142444628",
"153875314570599396340777914299520589205"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a7729cda2dd276d7a3994638038fb89035b6f2c",
"id": "CVE-2023-52614-dc7cc120",
"deprecated": false,
"target": {
"function": "trans_stat_show",
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"length": 1326.0,
"function_hash": "333946324952977214339267902109119750724"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@087de000e4f8c878c81d9dd3725f00a1d292980c",
"id": "CVE-2023-52614-e65bc52e",
"deprecated": false,
"target": {
"function": "trans_stat_show",
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"length": 1378.0,
"function_hash": "299057814707887292612902811134985494969"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a979f56aa4b93579cf0e4265ae04d7e9300fd3e8",
"id": "CVE-2023-52614-f90223dc",
"deprecated": false,
"target": {
"function": "trans_stat_show",
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"length": 1326.0,
"function_hash": "333946324952977214339267902109119750724"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@08e23d05fa6dc4fc13da0ccf09defdd4bbc92ff4",
"id": "CVE-2023-52614-fbcd0691",
"deprecated": false,
"target": {
"file": "drivers/devfreq/devfreq.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"87470256232776065043242175180092722197",
"322618105367819277670249451210042156046",
"230894851405383398474226040812030436415",
"316344306039457717963863470253105438050",
"260012554322483203120281490611541693882",
"216524315260067525140814845558175322390",
"162528241202347380321923351347558168098",
"217080270615117085227809549380022847819",
"121292568168659330129937665903585397289",
"113485228828577472952086737962524708210",
"252852736763518384806254627483842291920",
"236019633370254094445129475665762236749",
"59693806098410353944698403543203820178",
"295110668576327931432319981929946642364",
"282706817404692858964649583654097120080",
"289798422856108347475614189756251493658",
"296812680366716229569959189157133118107",
"28522943929057415250410720015341712489",
"53940813629975479210658423134086178104",
"308672734832285444581043272500094752413",
"124745503937484549949407432640880322428",
"84836469981395746770391515685463151788",
"213482044177503501937472145323425034701",
"246443021753931937547236063349379306020",
"45049490242510736400910306503425975558",
"280558715859023014003625407393803264747",
"31976639805817839626429972299292538678",
"207539870136120631161513556793099409428",
"162581371310978962393842943281163034970",
"267005402431289188509285767387142444628",
"153875314570599396340777914299520589205"
]
},
"signature_type": "Line"
}
]