In the Linux kernel, the following vulnerability has been resolved:
bpf: Mark rawtp arguments with PTRMAYBE_NULL
Arguments to a raw tracepoint are tagged as trusted, which carries the semantics that the pointer will be non-NULL. However, in certain cases, a raw tracepoint argument may end up being NULL. More context about this issue is available in [0].
Thus, there is a discrepancy between the reality, that raw_tp arguments can actually be NULL, and the verifier's knowledge, that they are never NULL, causing explicit NULL checks to be deleted, and accesses to such pointers potentially crashing the kernel.
To fix this, mark rawtp arguments as PTRMAYBENULL, and then special case the dereference and pointer arithmetic to permit it, and allow passing them into helpers/kfuncs; these exceptions are made for rawtp programs only. Ensure that we don't do this when refobjid > 0, as in that case this is an acquired object and doesn't need such adjustment.
The reason we do maskrawtptrustedreg logic is because other will recheck in places whether the register is a trustedreg, and then consider our register as untrusted when detecting the presence of the PTRMAYBE_NULL flag.
To allow safe dereference, we enable PROBEMEM marking when we see loads into trusted pointers with PTRMAYBE_NULL.
While trusted rawtp arguments can also be passed into helpers or kfuncs where such broken assumption may cause issues, a future patch set will tackle their case separately, as PTRTOBTFID (without PTR_TRUSTED) can already be passed into helpers and causes similar problems. Thus, they are left alone for now.
It is possible that these checks also permit passing non-rawtp args that are trusted PTRTOBTFID with null marking. In such a case, allowing dereference when pointer is NULL expands allowed behavior, so won't regress existing programs, and the case of passing these into helpers is the same as above and will be dealt with later.
Also update the failure case in tpbtfnullable selftest to capture the new behavior, as the verifier will no longer cause an error when directly dereference a raw tracepoint argument marked as __nullable.
[
{
"target": {
"file": "kernel/bpf/verifier.c"
},
"digest": {
"line_hashes": [
"40891724389897125382875140787019522286",
"45187934048717398871685236506450841232",
"233251383073237517513554166583760464051",
"3430570827980415194915737599956332358",
"27707116507697508195656660797519762555",
"332119604643728866170263137026798579351",
"88658162485988343925782169089189118500",
"217777227373663308276851298251680389690",
"21491309445717047119036485115083492317",
"158336268483235215101792948831653362289",
"8510301249783349103470878915936248938",
"327959050680901224776528837156078829240",
"314123196795855109078093923021042717570",
"331251468361653118398401932696107708587",
"324450533249345201149405674081250315222",
"82166328917493439335365616094945590810",
"324431955649095185618533484706324769463",
"275789280191784723729007252231896041237",
"32220318743623419867201859455750959098",
"325610106601854436389846169399556764696",
"181422134351004720248647325982202575307",
"239570553555704024422000488889128083732",
"262937581133662819863917674577632805688",
"337752247348169456589448296432792087041",
"49774467536036070891107568395725567059",
"259774297130272820455779014063006899258",
"255963877842984585543300992514946328037",
"93890307667346320900416636879163280893",
"241300508216226958529674985419641250035",
"17386252612055336612365600930608457879",
"56736935675151355862109268041153388523",
"206406740164268889301613531283836503229",
"8833929088053701218360756822813610377",
"88970807019811656202693024971497404116",
"168868539211370360383568477413902059555",
"246348621182284329350354376929565353079",
"281451098084251595608595099754079653042",
"285481995423063838629438659132008043777",
"4432823040209587404240806663655088687",
"143762165100910009007129119185299674055",
"229141739625992608422754306656799659591",
"190984956054331894650654229558467641897",
"135717901497468311249770336672957166594",
"142187799259052434235846602763455728786",
"140122887769291703296331950085230994942",
"23265018861511110027128272538936665073",
"162780070130826546856709549152375603993",
"306634107361920973419906061116523216681",
"231106384373170441309720825855373905887",
"9226589110473051927087847385207445600",
"318234990576822532482616473998526794129",
"266983591918886607561064344200213037223",
"305714412723904138790353202245768807728",
"201507779498822444384500364543373723911",
"200451589188027390576020223807208851654",
"272254011950685618926149982019897665649",
"45488634084851883802699737017401608443",
"218074765244346670898522519571221669556",
"181627375253962181045464242371582959100",
"115207731332414945168823389597217618908",
"135783833494277216106838076386270803638",
"307847462076395285298692841618401954968",
"65715496634574871940575999628149644402",
"194474796479843779860480328565233679081",
"119314656055590563560231811359130953278",
"267243010347424968941742615958601586234",
"23532686208457998257774446310864119209",
"287655323355498398960254216096562678398",
"247485736049509173522859719179790976427",
"72149201095772678048864709312979627823",
"156994541268781134009596505838637724648",
"86817087741612645498986416146708416560",
"83244450810363987898795012398399230228",
"263797449625241147062217014498825959442",
"159596125248052933383348544009788452342",
"106762850922889426353042302485115148383",
"3829501043236555836778184672508403657",
"137520663979704177847148646465942368323",
"311581027866982513705411143280877134748",
"207003354967363504376040532295788952617",
"192159773393919824693720698515685249806",
"86005886639869900229733945489880581047",
"24098686306953093500402656621660559655",
"243782408227056882366088222337635718599",
"197058356768062182559901059235621622688",
"78670333568511753056008858450967076355",
"72929917576878951079813988479358586786",
"117263058648585347138522150808292229247",
"151529866984773300774955397532190519060",
"118882844628817236490737977545080509691",
"77404675890501794384490678625335984057",
"216331282146520956899839390858500087204",
"281869893414565383708629918982242866315",
"125454331656394154882206456666399109584",
"66680027061347903920792294309564472659",
"230903362459334677417788141308275533252",
"22916849457498559525357591283925905239",
"5631475232553941003368301750319677999",
"220646086798700035233181817831808501508",
"266228978389951283097185820192864028735",
"300389141679834220486116024457397288222",
"290056113634535931131818320342107543094"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-00c02c42",
"signature_type": "Line"
},
{
"target": {
"function": "check_func_arg",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 5358.0,
"function_hash": "53752679807406712849184629670782486516"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-0f21c51b",
"signature_type": "Function"
},
{
"target": {
"function": "check_ptr_to_btf_access",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 3085.0,
"function_hash": "319016348120000401842843745793292451385"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-12fb2491",
"signature_type": "Function"
},
{
"target": {
"file": "include/linux/bpf.h"
},
"digest": {
"line_hashes": [
"99121987731803384972915051675601029768"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-1d406746",
"signature_type": "Line"
},
{
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 4857.0,
"function_hash": "153142478340444476449102977844662666202"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-1e4f6882",
"signature_type": "Function"
},
{
"target": {
"function": "convert_ctx_accesses",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 5006.0,
"function_hash": "241236517354309930549579383066047378820"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-1eebf11e",
"signature_type": "Function"
},
{
"target": {
"function": "btf_check_func_arg_match",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 2140.0,
"function_hash": "332983701255622167418122943967121172259"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-2608a42a",
"signature_type": "Function"
},
{
"target": {
"file": "tools/testing/selftests/bpf/progs/test_tp_btf_nullable.c"
},
"digest": {
"line_hashes": [
"281181999013131538664677358408349702176",
"26144962798376719127733443583254526192",
"70230970451561827745595134599714430740",
"114324905110894942505819148088529752225"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-2805f519",
"signature_type": "Line"
},
{
"target": {
"function": "convert_ctx_accesses",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 6004.0,
"function_hash": "79164596263987568667034766939898711034"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-2fd869fe",
"signature_type": "Function"
},
{
"target": {
"file": "kernel/bpf/btf.c"
},
"digest": {
"line_hashes": [
"263859667969247166638788749522604049528",
"226660235998064981739555412503162586590",
"6420227653815840997847179247993558265",
"49509627057567238887987306259743665326"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-2fdc26ef",
"signature_type": "Line"
},
{
"target": {
"function": "check_ptr_to_btf_access",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 3085.0,
"function_hash": "319016348120000401842843745793292451385"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-3137a907",
"signature_type": "Function"
},
{
"target": {
"function": "check_kfunc_args",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 12829.0,
"function_hash": "135409031777176928637249723452597179114"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-41df6b6d",
"signature_type": "Function"
},
{
"target": {
"file": "kernel/bpf/verifier.c"
},
"digest": {
"line_hashes": [
"40891724389897125382875140787019522286",
"45187934048717398871685236506450841232",
"233251383073237517513554166583760464051",
"3430570827980415194915737599956332358",
"27707116507697508195656660797519762555",
"332119604643728866170263137026798579351",
"88658162485988343925782169089189118500",
"217777227373663308276851298251680389690",
"21491309445717047119036485115083492317",
"158336268483235215101792948831653362289",
"8510301249783349103470878915936248938",
"327959050680901224776528837156078829240",
"314123196795855109078093923021042717570",
"331251468361653118398401932696107708587",
"324450533249345201149405674081250315222",
"82166328917493439335365616094945590810",
"324431955649095185618533484706324769463",
"275789280191784723729007252231896041237",
"32220318743623419867201859455750959098",
"325610106601854436389846169399556764696",
"181422134351004720248647325982202575307",
"239570553555704024422000488889128083732",
"262937581133662819863917674577632805688",
"337752247348169456589448296432792087041",
"49774467536036070891107568395725567059",
"259774297130272820455779014063006899258",
"255963877842984585543300992514946328037",
"93890307667346320900416636879163280893",
"241300508216226958529674985419641250035",
"17386252612055336612365600930608457879",
"56736935675151355862109268041153388523",
"206406740164268889301613531283836503229",
"8833929088053701218360756822813610377",
"88970807019811656202693024971497404116",
"168868539211370360383568477413902059555",
"246348621182284329350354376929565353079",
"281451098084251595608595099754079653042",
"285481995423063838629438659132008043777",
"4432823040209587404240806663655088687",
"143762165100910009007129119185299674055",
"229141739625992608422754306656799659591",
"190984956054331894650654229558467641897",
"135717901497468311249770336672957166594",
"142187799259052434235846602763455728786",
"140122887769291703296331950085230994942",
"23265018861511110027128272538936665073",
"162780070130826546856709549152375603993",
"306634107361920973419906061116523216681",
"231106384373170441309720825855373905887",
"9226589110473051927087847385207445600",
"318234990576822532482616473998526794129",
"266983591918886607561064344200213037223",
"305714412723904138790353202245768807728",
"201507779498822444384500364543373723911",
"200451589188027390576020223807208851654",
"272254011950685618926149982019897665649",
"45488634084851883802699737017401608443",
"218074765244346670898522519571221669556",
"181627375253962181045464242371582959100",
"115207731332414945168823389597217618908",
"135783833494277216106838076386270803638",
"307847462076395285298692841618401954968",
"65715496634574871940575999628149644402",
"194474796479843779860480328565233679081",
"119314656055590563560231811359130953278",
"267243010347424968941742615958601586234",
"23532686208457998257774446310864119209",
"287655323355498398960254216096562678398",
"247485736049509173522859719179790976427",
"72149201095772678048864709312979627823",
"156994541268781134009596505838637724648",
"86817087741612645498986416146708416560",
"83244450810363987898795012398399230228",
"263797449625241147062217014498825959442",
"159596125248052933383348544009788452342",
"106762850922889426353042302485115148383",
"3829501043236555836778184672508403657",
"137520663979704177847148646465942368323",
"311581027866982513705411143280877134748",
"207003354967363504376040532295788952617",
"192159773393919824693720698515685249806",
"86005886639869900229733945489880581047",
"24098686306953093500402656621660559655",
"243782408227056882366088222337635718599",
"197058356768062182559901059235621622688",
"78670333568511753056008858450967076355",
"72929917576878951079813988479358586786",
"117263058648585347138522150808292229247",
"151529866984773300774955397532190519060",
"118882844628817236490737977545080509691",
"77404675890501794384490678625335984057",
"216331282146520956899839390858500087204",
"281869893414565383708629918982242866315",
"125454331656394154882206456666399109584",
"66680027061347903920792294309564472659",
"230903362459334677417788141308275533252",
"22916849457498559525357591283925905239",
"5631475232553941003368301750319677999",
"220646086798700035233181817831808501508",
"266228978389951283097185820192864028735",
"300389141679834220486116024457397288222",
"290056113634535931131818320342107543094"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-43353535",
"signature_type": "Line"
},
{
"target": {
"function": "btf_ctx_access",
"file": "kernel/bpf/btf.c"
},
"digest": {
"length": 3858.0,
"function_hash": "38729946966406184306539152030737694774"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-44dbdb49",
"signature_type": "Function"
},
{
"target": {
"file": "kernel/bpf/btf.c"
},
"digest": {
"line_hashes": [
"263859667969247166638788749522604049528",
"226660235998064981739555412503162586590",
"6420227653815840997847179247993558265",
"49509627057567238887987306259743665326"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-62eb255a",
"signature_type": "Line"
},
{
"target": {
"function": "check_mem_access",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 6407.0,
"function_hash": "278281988241839009590050133212805799395"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-6764d520",
"signature_type": "Function"
},
{
"target": {
"function": "check_kfunc_args",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 12813.0,
"function_hash": "69054543903931221948954592967910789473"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-6fc6d92a",
"signature_type": "Function"
},
{
"target": {
"function": "check_ptr_to_btf_access",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 3085.0,
"function_hash": "319016348120000401842843745793292451385"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-753ea5e1",
"signature_type": "Function"
},
{
"target": {
"file": "include/linux/bpf.h"
},
"digest": {
"line_hashes": [
"99121987731803384972915051675601029768"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-79a17998",
"signature_type": "Line"
},
{
"target": {
"file": "kernel/bpf/verifier.c"
},
"digest": {
"line_hashes": [
"40891724389897125382875140787019522286",
"45187934048717398871685236506450841232",
"233251383073237517513554166583760464051",
"3430570827980415194915737599956332358",
"27707116507697508195656660797519762555",
"332119604643728866170263137026798579351",
"88658162485988343925782169089189118500",
"217777227373663308276851298251680389690",
"21491309445717047119036485115083492317",
"158336268483235215101792948831653362289",
"8510301249783349103470878915936248938",
"327959050680901224776528837156078829240",
"314123196795855109078093923021042717570",
"331251468361653118398401932696107708587",
"324450533249345201149405674081250315222",
"82166328917493439335365616094945590810",
"324431955649095185618533484706324769463",
"275789280191784723729007252231896041237",
"32220318743623419867201859455750959098",
"325610106601854436389846169399556764696",
"181422134351004720248647325982202575307",
"239570553555704024422000488889128083732",
"262937581133662819863917674577632805688",
"337752247348169456589448296432792087041",
"49774467536036070891107568395725567059",
"259774297130272820455779014063006899258",
"255963877842984585543300992514946328037",
"93890307667346320900416636879163280893",
"241300508216226958529674985419641250035",
"17386252612055336612365600930608457879",
"56736935675151355862109268041153388523",
"206406740164268889301613531283836503229",
"8833929088053701218360756822813610377",
"88970807019811656202693024971497404116",
"168868539211370360383568477413902059555",
"246348621182284329350354376929565353079",
"281451098084251595608595099754079653042",
"285481995423063838629438659132008043777",
"4432823040209587404240806663655088687",
"143762165100910009007129119185299674055",
"229141739625992608422754306656799659591",
"190984956054331894650654229558467641897",
"135717901497468311249770336672957166594",
"142187799259052434235846602763455728786",
"140122887769291703296331950085230994942",
"23265018861511110027128272538936665073",
"162780070130826546856709549152375603993",
"306634107361920973419906061116523216681",
"231106384373170441309720825855373905887",
"9226589110473051927087847385207445600",
"318234990576822532482616473998526794129",
"266983591918886607561064344200213037223",
"305714412723904138790353202245768807728",
"201507779498822444384500364543373723911",
"200451589188027390576020223807208851654",
"272254011950685618926149982019897665649",
"45488634084851883802699737017401608443",
"218074765244346670898522519571221669556",
"181627375253962181045464242371582959100",
"115207731332414945168823389597217618908",
"135783833494277216106838076386270803638",
"307847462076395285298692841618401954968",
"65715496634574871940575999628149644402",
"194474796479843779860480328565233679081",
"119314656055590563560231811359130953278",
"267243010347424968941742615958601586234",
"23532686208457998257774446310864119209",
"287655323355498398960254216096562678398",
"247485736049509173522859719179790976427",
"72149201095772678048864709312979627823",
"156994541268781134009596505838637724648",
"86817087741612645498986416146708416560",
"83244450810363987898795012398399230228",
"263797449625241147062217014498825959442",
"159596125248052933383348544009788452342",
"106762850922889426353042302485115148383",
"3829501043236555836778184672508403657",
"137520663979704177847148646465942368323",
"311581027866982513705411143280877134748",
"207003354967363504376040532295788952617",
"192159773393919824693720698515685249806",
"86005886639869900229733945489880581047",
"24098686306953093500402656621660559655",
"243782408227056882366088222337635718599",
"197058356768062182559901059235621622688",
"78670333568511753056008858450967076355",
"72929917576878951079813988479358586786",
"117263058648585347138522150808292229247",
"151529866984773300774955397532190519060",
"118882844628817236490737977545080509691",
"77404675890501794384490678625335984057",
"216331282146520956899839390858500087204",
"281869893414565383708629918982242866315",
"125454331656394154882206456666399109584",
"66680027061347903920792294309564472659",
"230903362459334677417788141308275533252",
"22916849457498559525357591283925905239",
"5631475232553941003368301750319677999",
"220646086798700035233181817831808501508",
"266228978389951283097185820192864028735",
"300389141679834220486116024457397288222",
"290056113634535931131818320342107543094"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-857edc3f",
"signature_type": "Line"
},
{
"target": {
"file": "kernel/bpf/btf.c"
},
"digest": {
"line_hashes": [
"263859667969247166638788749522604049528",
"226660235998064981739555412503162586590",
"6420227653815840997847179247993558265",
"49509627057567238887987306259743665326"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-85e0f0dc",
"signature_type": "Line"
},
{
"target": {
"function": "btf_check_func_arg_match",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 2140.0,
"function_hash": "332983701255622167418122943967121172259"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-8b6be785",
"signature_type": "Function"
},
{
"target": {
"function": "check_func_arg",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 5313.0,
"function_hash": "212248376719605169131339018325868037427"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-8eaf4f6c",
"signature_type": "Function"
},
{
"target": {
"function": "check_mem_access",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 6396.0,
"function_hash": "211080621270896864716151566438648688695"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-9845d085",
"signature_type": "Function"
},
{
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 4857.0,
"function_hash": "153142478340444476449102977844662666202"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-98b9dd4b",
"signature_type": "Function"
},
{
"target": {
"function": "btf_check_func_arg_match",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 2140.0,
"function_hash": "332983701255622167418122943967121172259"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-9fd6cb58",
"signature_type": "Function"
},
{
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 4857.0,
"function_hash": "153142478340444476449102977844662666202"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-a00ef312",
"signature_type": "Function"
},
{
"target": {
"file": "include/linux/bpf.h"
},
"digest": {
"line_hashes": [
"99121987731803384972915051675601029768"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-a4df43f7",
"signature_type": "Line"
},
{
"target": {
"function": "check_kfunc_args",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 12829.0,
"function_hash": "135409031777176928637249723452597179114"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-b2ef1a1e",
"signature_type": "Function"
},
{
"target": {
"function": "btf_ctx_access",
"file": "kernel/bpf/btf.c"
},
"digest": {
"length": 3858.0,
"function_hash": "38729946966406184306539152030737694774"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-b2f6430f",
"signature_type": "Function"
},
{
"target": {
"function": "check_func_arg",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 5358.0,
"function_hash": "53752679807406712849184629670782486516"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-bfc11161",
"signature_type": "Function"
},
{
"target": {
"function": "btf_ctx_access",
"file": "kernel/bpf/btf.c"
},
"digest": {
"length": 3858.0,
"function_hash": "38729946966406184306539152030737694774"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-d05dd2c0",
"signature_type": "Function"
},
{
"target": {
"function": "convert_ctx_accesses",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 6004.0,
"function_hash": "79164596263987568667034766939898711034"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-d07b9982",
"signature_type": "Function"
},
{
"target": {
"file": "tools/testing/selftests/bpf/progs/test_tp_btf_nullable.c"
},
"digest": {
"line_hashes": [
"281181999013131538664677358408349702176",
"26144962798376719127733443583254526192",
"70230970451561827745595134599714430740",
"114324905110894942505819148088529752225"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cb4158ce8ec8a5bb528cc1693356a5eb8058094d",
"deprecated": false,
"id": "CVE-2024-56702-ed6a2602",
"signature_type": "Line"
},
{
"target": {
"function": "check_mem_access",
"file": "kernel/bpf/verifier.c"
},
"digest": {
"length": 6396.0,
"function_hash": "211080621270896864716151566438648688695"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3634d4a310820567fc634bf8f1ee2b91378773e8",
"deprecated": false,
"id": "CVE-2024-56702-f7db72f6",
"signature_type": "Function"
},
{
"target": {
"file": "tools/testing/selftests/bpf/progs/test_tp_btf_nullable.c"
},
"digest": {
"line_hashes": [
"281181999013131538664677358408349702176",
"26144962798376719127733443583254526192",
"70230970451561827745595134599714430740",
"114324905110894942505819148088529752225"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c9b91d2d54175f781ad2c361cb2ac2c0e29b14b6",
"deprecated": false,
"id": "CVE-2024-56702-fd3708cc",
"signature_type": "Line"
}
]