We use these services and cookies to improve your user experience. You may opt out if you wish, however, this may limit some features on this site.

Please see our statement on Data Privacy.

Crisp.chat (Helpdesk and Chat)

Ok

THREATINT
PUBLISHED

CVE-2022-49837

bpf: Fix memory leaks in __check_func_call



Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix memory leaks in __check_func_call kmemleak reports this issue: unreferenced object 0xffff88817139d000 (size 2048): comm "test_progs", pid 33246, jiffies 4307381979 (age 45851.820s) hex dump (first 32 bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<0000000045f075f0>] kmalloc_trace+0x27/0xa0 [<0000000098b7c90a>] __check_func_call+0x316/0x1230 [<00000000b4c3c403>] check_helper_call+0x172e/0x4700 [<00000000aa3875b7>] do_check+0x21d8/0x45e0 [<000000001147357b>] do_check_common+0x767/0xaf0 [<00000000b5a595b4>] bpf_check+0x43e3/0x5bc0 [<0000000011e391b1>] bpf_prog_load+0xf26/0x1940 [<0000000007f765c0>] __sys_bpf+0xd2c/0x3650 [<00000000839815d6>] __x64_sys_bpf+0x75/0xc0 [<00000000946ee250>] do_syscall_64+0x3b/0x90 [<0000000000506b7f>] entry_SYSCALL_64_after_hwframe+0x63/0xcd The root case here is: In function prepare_func_exit(), the callee is not released in the abnormal scenario after "state->curframe--;". To fix, move "state->curframe--;" to the very bottom of the function, right when we free callee and reset frame[] pointer to NULL, as Andrii suggested. In addition, function __check_func_call() has a similar problem. In the abnormal scenario before "state->curframe++;", the callee also should be released by free_func_state().

Reserved 2025-05-01 | Published 2025-05-01 | Updated 2025-05-04 | Assigner Linux

Product status

Default status
unaffected

fd978bf7fd312581a7ca454a991f0ffb34c4204b before d4944497827a3d14bc5a26dbcfb7433eb5a956c0
affected

fd978bf7fd312581a7ca454a991f0ffb34c4204b before 83946d772e756734a900ef99dbe0aeda506adf37
affected

fd978bf7fd312581a7ca454a991f0ffb34c4204b before eb86559a691cea5fa63e57a03ec3dc9c31e97955
affected

Default status
affected

4.20
affected

Any version before 4.20
unaffected

5.15.80
unaffected

6.0.10
unaffected

6.1
unaffected

References

git.kernel.org/...c/d4944497827a3d14bc5a26dbcfb7433eb5a956c0

git.kernel.org/...c/83946d772e756734a900ef99dbe0aeda506adf37

git.kernel.org/...c/eb86559a691cea5fa63e57a03ec3dc9c31e97955

cve.org (CVE-2022-49837)

nvd.nist.gov (CVE-2022-49837)

Download JSON

Share this page
https://cve.threatint.eu/CVE/CVE-2022-49837

Support options

Helpdesk Chat, Email, Knowledgebase