CVE-2026-53095
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
bpf: Fix misbruik van kprobe_write_ctx via freplace
uprobe-programma's mogen struct pt_regs wijzigen. Aangezien het eigenlijke programmatype uprobe KPROBE is, kan het worden misbruikt om
struct pt_regs wijzigen via kprobe+ freplacewanneer de kprobe zich hecht aan
kernelfuncties. Bijvoorbeeld
SEC("?kprobe")
int kprobe(struct pt_regs *regs)
{
return 0;
}
SEC("?freplace")
int freplace_kprobe(struct pt_regs *regs)
{
regs->di = 0;
return 0;
}
freplace_kprobe prog zal zich hechten aan kprobe prog. kprobe prog zal zich hechten aan een kernelfunctie. Zonder deze patch, wanneer de kernelfunctie wordt uitgevoerd, zal het eerste argument
altijd worden ingesteld als 0 via de freplace_kprobe prog. Om het misbruik van kprobe_write_ctx=true via kprobe + freplace op te lossen, niet toestaan
het bevestigen van freplace-programma's op kprobe-programma's met verschillende
kprobe_write_ctx-waarden.
Origineel (Engels) tonen
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix abuse of kprobe_write_ctx via freplace
uprobe programs are allowed to modify struct pt_regs.
Since the actual program type of uprobe is KPROBE, it can be abused to
modify struct pt_regs via kprobe+freplace when the kprobe attaches to
kernel functions.
For example,
SEC("?kprobe")
int kprobe(struct pt_regs *regs)
{
return 0;
}
SEC("?freplace")
int freplace_kprobe(struct pt_regs *regs)
{
regs->di = 0;
return 0;
}
freplace_kprobe prog will attach to kprobe prog.
kprobe prog will attach to a kernel function.
Without this patch, when the kernel function runs, its first arg will
always be set as 0 via the freplace_kprobe prog.
To fix the abuse of kprobe_write_ctx=true via kprobe+freplace, disallow
attaching freplace programs on kprobe programs with different
kprobe_write_ctx values.