In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix insufficient bounds propagation from adjustscalarminmaxvals
Kuee reported a corner case where the tnum becomes constant after the call to _regbound_offset(), but the register's bounds are not, that is, its min bounds are still not equal to the register's max bounds.
This in turn allows to leak pointers through turning a pointer register as is into an unknown scalar via adjustptrminmaxvals().
Before:
func#0 @0 0: R1=ctx(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) R10=fp(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) 0: (b7) r0 = 1 ; R0w=scalar(imm=1,umin=1,umax=1,varoff=(0x1; 0x0)) 1: (b7) r3 = 0 ; R3w=scalar(imm=0,umax=0,varoff=(0x0; 0x0)) 2: (87) r3 = -r3 ; R3w=scalar() 3: (87) r3 = -r3 ; R3w=scalar() 4: (47) r3 |= 32767 ; R3w=scalar(smin=-9223372036854743041,umin=32767,varoff=(0x7fff; 0xffffffffffff8000),s32min=-2147450881) 5: (75) if r3 s>= 0x0 goto pc+1 ; R3w=scalar(umin=9223372036854808575,varoff=(0x8000000000007fff; 0x7fffffffffff8000),s32min=-2147450881,u32_min=32767) 6: (95) exit
from 5 to 7: R0=scalar(imm=1,umin=1,umax=1,varoff=(0x1; 0x0)) R1=ctx(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) R3=scalar(umin=32767,umax=9223372036854775807,varoff=(0x7fff; 0x7fffffffffff8000),s32min=-2147450881) R10=fp(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) 7: (d5) if r3 s<= 0x8000 goto pc+1 ; R3=scalar(umin=32769,umax=9223372036854775807,varoff=(0x7fff; 0x7fffffffffff8000),s32min=-2147450881,u32min=32767) 8: (95) exit
from 7 to 9: R0=scalar(imm=1,umin=1,umax=1,varoff=(0x1; 0x0)) R1=ctx(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) R3=scalar(umin=32767,umax=32768,varoff=(0x7fff; 0x8000)) R10=fp(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) 9: (07) r3 += -32767 ; R3w=scalar(imm=0,umax=1,varoff=(0x0; 0x0)) <--- [*] 10: (95) exit
What can be seen here is that R3=scalar(umin=32767,umax=32768,varoff=(0x7fff; 0x8000)) after the operation R3 += -32767 results in a 'malformed' constant, that is, R3w=scalar(imm=0,umax=1,varoff=(0x0; 0x0)). Intersecting with varoff has not been done at that point via _updatereg_bounds(), which would have improved the umax to be equal to umin.
Refactor the tnum <> min/max bounds information flow into a regboundssync() helper and use it consistently everywhere. After the fix, bounds have been corrected to R3w=scalar(imm=0,umax=0,varoff=(0x0; 0x0)) and thus the register is regarded as a 'proper' constant scalar of 0.
After:
func#0 @0 0: R1=ctx(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) R10=fp(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) 0: (b7) r0 = 1 ; R0w=scalar(imm=1,umin=1,umax=1,varoff=(0x1; 0x0)) 1: (b7) r3 = 0 ; R3w=scalar(imm=0,umax=0,varoff=(0x0; 0x0)) 2: (87) r3 = -r3 ; R3w=scalar() 3: (87) r3 = -r3 ; R3w=scalar() 4: (47) r3 |= 32767 ; R3w=scalar(smin=-9223372036854743041,umin=32767,varoff=(0x7fff; 0xffffffffffff8000),s32min=-2147450881) 5: (75) if r3 s>= 0x0 goto pc+1 ; R3w=scalar(umin=9223372036854808575,varoff=(0x8000000000007fff; 0x7fffffffffff8000),s32min=-2147450881,u32_min=32767) 6: (95) exit
from 5 to 7: R0=scalar(imm=1,umin=1,umax=1,varoff=(0x1; 0x0)) R1=ctx(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) R3=scalar(umin=32767,umax=9223372036854775807,varoff=(0x7fff; 0x7fffffffffff8000),s32min=-2147450881) R10=fp(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) 7: (d5) if r3 s<= 0x8000 goto pc+1 ; R3=scalar(umin=32769,umax=9223372036854775807,varoff=(0x7fff; 0x7fffffffffff8000),s32min=-2147450881,u32min=32767) 8: (95) exit
from 7 to 9: R0=scalar(imm=1,umin=1,umax=1,varoff=(0x1; 0x0)) R1=ctx(off=0,imm=0,umax=0,varoff=(0x0; 0x0)) R3=scalar(umin=32767,umax=32768,var_off=(0x7fff; 0x8000)) R10=fp(off=0 ---truncated---
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "do_refine_retval_range",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-09ebc49d",
"signature_type": "Function",
"digest": {
"length": 542.0,
"function_hash": "33573151959614672234657618619620269577"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "check_alu_op",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-1d921a05",
"signature_type": "Function",
"digest": {
"length": 3645.0,
"function_hash": "189822447464511021546042331534328454767"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-23530e6b",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"82196612486028613011244764231232620037",
"263757237912977604256393833164677405582",
"267784847605993802438884814639566584164",
"83202566130296351192667637985080999106",
"40360641499172150292170122548709935342",
"250784582774976819623324637482921982095",
"88934672181622254425740101943350168434",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"300505230096933366770071713306844050414",
"32448920763200552612816330552096490661",
"301381917701484838484070472554218729848",
"70414441042690950442130242143727524497",
"182697455649990198193565456728057520335",
"240546178420929752285343887003388313642",
"231228137211205939464175798959693804203",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"225885128114338684689403685602558500164",
"271228146722229293948015553770486748200",
"50893080814149228446576885214298778955",
"267873427140462804837084754024399471552",
"235289961399124751520609128647664309649",
"8221208175981826488472916917878110660",
"161129206558218358054439074042650478282",
"308952955709012232643634366560505276560",
"257478938827577242258065852285437222999",
"33544602050678083926646810368858908823",
"302809840216872917910096239605856233394",
"307653940657159264652778903493310110060",
"15877268267930370249456014927228255439",
"167323365993363953429279521214609965079",
"167411529635225819605078228765295046421",
"36572918431139986845340767780596106237",
"46603491128796992451396595745459347675",
"42888576779309704644321039106894609162",
"291948630983044064566397351033790858395",
"106818427160415816178864417929788192091",
"230052734366120807667044902887222388024",
"267917504925675129570931744901819847305",
"46603491128796992451396595745459347675",
"53120449114828571188370621617666618355",
"263332928884621953020343468192664462901",
"26609937737156600168147335279331977557",
"182522814704131673922730049927889515295",
"23924630723354317728478373424636543293",
"134947726416582629855539297582052496112",
"139245427282112394445710201997345976565",
"168739019017547300469415179078676350036",
"101563719620908456634578370361306008365",
"20832896339598612984444530409768465325",
"71011888447108836630446450540886753177",
"287082920367173909228224514102176724596",
"66873767703169977968294991353167357858",
"38100386845321797349505498738906953661"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "check_alu_op",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-2570d6c9",
"signature_type": "Function",
"digest": {
"length": 3645.0,
"function_hash": "189822447464511021546042331534328454767"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-2d177038",
"signature_type": "Function",
"digest": {
"length": 4771.0,
"function_hash": "193475019785136238514140957394873375416"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-45a5c525",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"82196612486028613011244764231232620037",
"263757237912977604256393833164677405582",
"267784847605993802438884814639566584164",
"83202566130296351192667637985080999106",
"40360641499172150292170122548709935342",
"250784582774976819623324637482921982095",
"88934672181622254425740101943350168434",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"300505230096933366770071713306844050414",
"32448920763200552612816330552096490661",
"301381917701484838484070472554218729848",
"70414441042690950442130242143727524497",
"182697455649990198193565456728057520335",
"240546178420929752285343887003388313642",
"231228137211205939464175798959693804203",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"225885128114338684689403685602558500164",
"271228146722229293948015553770486748200",
"50893080814149228446576885214298778955",
"267873427140462804837084754024399471552",
"235289961399124751520609128647664309649",
"8221208175981826488472916917878110660",
"161129206558218358054439074042650478282",
"308952955709012232643634366560505276560",
"257478938827577242258065852285437222999",
"33544602050678083926646810368858908823",
"302809840216872917910096239605856233394",
"307653940657159264652778903493310110060",
"15877268267930370249456014927228255439",
"167323365993363953429279521214609965079",
"167411529635225819605078228765295046421",
"36572918431139986845340767780596106237",
"46603491128796992451396595745459347675",
"42888576779309704644321039106894609162",
"291948630983044064566397351033790858395",
"106818427160415816178864417929788192091",
"230052734366120807667044902887222388024",
"267917504925675129570931744901819847305",
"46603491128796992451396595745459347675",
"53120449114828571188370621617666618355",
"263332928884621953020343468192664462901",
"26609937737156600168147335279331977557",
"182522814704131673922730049927889515295",
"23924630723354317728478373424636543293",
"134947726416582629855539297582052496112",
"139245427282112394445710201997345976565",
"168739019017547300469415179078676350036",
"101563719620908456634578370361306008365",
"20832896339598612984444530409768465325",
"71011888447108836630446450540886753177",
"287082920367173909228224514102176724596",
"66873767703169977968294991353167357858",
"38100386845321797349505498738906953661"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "__reg_combine_min_max",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-4f6a8a2a",
"signature_type": "Function",
"digest": {
"length": 720.0,
"function_hash": "259829317836059654367075383624736943205"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "do_refine_retval_range",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-52062f79",
"signature_type": "Function",
"digest": {
"length": 578.0,
"function_hash": "10832272976360057290128619413585465651"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "__reg_combine_64_into_32",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-5ffc9813",
"signature_type": "Function",
"digest": {
"length": 515.0,
"function_hash": "279616146085985366663034818042307177573"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-626359d3",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"82196612486028613011244764231232620037",
"263757237912977604256393833164677405582",
"267784847605993802438884814639566584164",
"83202566130296351192667637985080999106",
"40360641499172150292170122548709935342",
"250784582774976819623324637482921982095",
"88934672181622254425740101943350168434",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"300505230096933366770071713306844050414",
"32448920763200552612816330552096490661",
"301381917701484838484070472554218729848",
"70414441042690950442130242143727524497",
"182697455649990198193565456728057520335",
"240546178420929752285343887003388313642",
"231228137211205939464175798959693804203",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"225885128114338684689403685602558500164",
"271228146722229293948015553770486748200",
"50893080814149228446576885214298778955",
"267873427140462804837084754024399471552",
"235289961399124751520609128647664309649",
"8221208175981826488472916917878110660",
"161129206558218358054439074042650478282",
"308952955709012232643634366560505276560",
"257478938827577242258065852285437222999",
"33544602050678083926646810368858908823",
"302809840216872917910096239605856233394",
"307653940657159264652778903493310110060",
"15877268267930370249456014927228255439",
"167323365993363953429279521214609965079",
"167411529635225819605078228765295046421",
"36572918431139986845340767780596106237",
"46603491128796992451396595745459347675",
"42888576779309704644321039106894609162",
"291948630983044064566397351033790858395",
"106818427160415816178864417929788192091",
"230052734366120807667044902887222388024",
"267917504925675129570931744901819847305",
"46603491128796992451396595745459347675",
"53120449114828571188370621617666618355",
"263332928884621953020343468192664462901",
"26609937737156600168147335279331977557",
"182522814704131673922730049927889515295",
"23924630723354317728478373424636543293",
"134947726416582629855539297582052496112",
"139245427282112394445710201997345976565",
"168739019017547300469415179078676350036",
"101563719620908456634578370361306008365",
"20832896339598612984444530409768465325",
"71011888447108836630446450540886753177",
"287082920367173909228224514102176724596",
"66873767703169977968294991353167357858",
"38100386845321797349505498738906953661"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "check_alu_op",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-652549cc",
"signature_type": "Function",
"digest": {
"length": 3645.0,
"function_hash": "189822447464511021546042331534328454767"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "__reg_combine_32_into_64",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-7970783f",
"signature_type": "Function",
"digest": {
"length": 236.0,
"function_hash": "278875483887682709644784810422568960777"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "__reg_combine_min_max",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-7f7df6b0",
"signature_type": "Function",
"digest": {
"length": 720.0,
"function_hash": "259829317836059654367075383624736943205"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "__reg_combine_64_into_32",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-85245061",
"signature_type": "Function",
"digest": {
"length": 515.0,
"function_hash": "279616146085985366663034818042307177573"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "__reg_combine_32_into_64",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-8ebaf645",
"signature_type": "Function",
"digest": {
"length": 236.0,
"function_hash": "278875483887682709644784810422568960777"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-8f86a7aa",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"82196612486028613011244764231232620037",
"263757237912977604256393833164677405582",
"267784847605993802438884814639566584164",
"83202566130296351192667637985080999106",
"40360641499172150292170122548709935342",
"250784582774976819623324637482921982095",
"88934672181622254425740101943350168434",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"300505230096933366770071713306844050414",
"32448920763200552612816330552096490661",
"301381917701484838484070472554218729848",
"70414441042690950442130242143727524497",
"182697455649990198193565456728057520335",
"240546178420929752285343887003388313642",
"231228137211205939464175798959693804203",
"135776730216004594724849938158038722286",
"306988628080812813284717032839260152292",
"225885128114338684689403685602558500164",
"271228146722229293948015553770486748200",
"50893080814149228446576885214298778955",
"267873427140462804837084754024399471552",
"235289961399124751520609128647664309649",
"8221208175981826488472916917878110660",
"161129206558218358054439074042650478282",
"308952955709012232643634366560505276560",
"257478938827577242258065852285437222999",
"33544602050678083926646810368858908823",
"302809840216872917910096239605856233394",
"307653940657159264652778903493310110060",
"15877268267930370249456014927228255439",
"167323365993363953429279521214609965079",
"167411529635225819605078228765295046421",
"36572918431139986845340767780596106237",
"46603491128796992451396595745459347675",
"42888576779309704644321039106894609162",
"291948630983044064566397351033790858395",
"106818427160415816178864417929788192091",
"230052734366120807667044902887222388024",
"267917504925675129570931744901819847305",
"46603491128796992451396595745459347675",
"53120449114828571188370621617666618355",
"263332928884621953020343468192664462901",
"26609937737156600168147335279331977557",
"182522814704131673922730049927889515295",
"23924630723354317728478373424636543293",
"134947726416582629855539297582052496112",
"139245427282112394445710201997345976565",
"168739019017547300469415179078676350036",
"101563719620908456634578370361306008365",
"20832896339598612984444530409768465325",
"71011888447108836630446450540886753177",
"287082920367173909228224514102176724596",
"66873767703169977968294991353167357858",
"38100386845321797349505498738906953661"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "__reg_combine_min_max",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-90a9deac",
"signature_type": "Function",
"digest": {
"length": 720.0,
"function_hash": "259829317836059654367075383624736943205"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "adjust_scalar_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-92b08cb0",
"signature_type": "Function",
"digest": {
"length": 2828.0,
"function_hash": "201829721381941886347183551871991872340"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "__reg_combine_64_into_32",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-9b0b2156",
"signature_type": "Function",
"digest": {
"length": 515.0,
"function_hash": "279616146085985366663034818042307177573"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "__reg_combine_32_into_64",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-b18e4b16",
"signature_type": "Function",
"digest": {
"length": 236.0,
"function_hash": "278875483887682709644784810422568960777"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "do_refine_retval_range",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-b386b389",
"signature_type": "Function",
"digest": {
"length": 578.0,
"function_hash": "10832272976360057290128619413585465651"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-c63fb636",
"signature_type": "Function",
"digest": {
"length": 4771.0,
"function_hash": "193475019785136238514140957394873375416"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-cd9c2715",
"signature_type": "Function",
"digest": {
"length": 4828.0,
"function_hash": "337845324831764467168642114064712032318"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "__reg_combine_64_into_32",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-cdd652d9",
"signature_type": "Function",
"digest": {
"length": 515.0,
"function_hash": "279616146085985366663034818042307177573"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "adjust_ptr_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-d017722f",
"signature_type": "Function",
"digest": {
"length": 4719.0,
"function_hash": "49967115532635555952574136356338183675"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "adjust_scalar_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-d4fb2a16",
"signature_type": "Function",
"digest": {
"length": 2828.0,
"function_hash": "201829721381941886347183551871991872340"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "adjust_scalar_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-e29905e7",
"signature_type": "Function",
"digest": {
"length": 2828.0,
"function_hash": "201829721381941886347183551871991872340"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e917be1f83ea14a68b3cf64d3da9968eaf991dae",
"target": {
"function": "adjust_scalar_min_max_vals",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-e36020f1",
"signature_type": "Function",
"digest": {
"length": 2828.0,
"function_hash": "201829721381941886347183551871991872340"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3844d153a41adea718202c10ae91dc96b37453b5",
"target": {
"function": "do_refine_retval_range",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-e8537723",
"signature_type": "Function",
"digest": {
"length": 578.0,
"function_hash": "10832272976360057290128619413585465651"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "__reg_combine_min_max",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-efac3467",
"signature_type": "Function",
"digest": {
"length": 720.0,
"function_hash": "259829317836059654367075383624736943205"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b2a28bb36664c94375926cbbb91976242847699d",
"target": {
"function": "check_alu_op",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-f23e3b27",
"signature_type": "Function",
"digest": {
"length": 3645.0,
"function_hash": "189822447464511021546042331534328454767"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a7de8d436db92bab8b1f44624297c2554a6ac36b",
"target": {
"function": "__reg_combine_32_into_64",
"file": "kernel/bpf/verifier.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2022-49658-fc55d5f4",
"signature_type": "Function",
"digest": {
"length": 236.0,
"function_hash": "278875483887682709644784810422568960777"
}
}
]