CVE-2026-74590
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
fsverity: Fix bpf_get_fsverity_digest() dynptr assumptions
The BPF verifier and the dynptr abstraction ensure that the memory space referenced by a dynptr remains valid. They do not, however, provide any guarantee that the contents of the memory are stable. kfuncs are expected to remain memory-safe even if concurrent modifications occur.
bpf_get_fsverity_digest() didn't follow that: it could crash if arg->digest_size was concurrently modified.
Fix that by using the known-good value hash_alg->digest_size instead.
Also widen 'dynptr_sz' and 'out_digest_sz' to u64 to match the return type of __bpf_dynptr_size(). It doesn't appear that it can actually be more than INT_MAX currently (since __bpf_dynptr_data_rw() excludes file-based pointers), but the correct type might as well be used.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 67814c00de3161181cddd06c77aeaf86ac4cc584 < 1344b632cb5043e32939a84568125719111c5af3 | affected |
| Linux | Linux | 67814c00de3161181cddd06c77aeaf86ac4cc584 < 2a5cfcad1d56e26d645b7887b0ed24c371851525 | affected |
| Linux | Linux | 67814c00de3161181cddd06c77aeaf86ac4cc584 < 5bd63cad9df4328a184c409fbdad4f17944bcdb8 | affected |
| Linux | Linux | 67814c00de3161181cddd06c77aeaf86ac4cc584 < 3e8ec7c0387273329374f5c7bd61f5f38af71fe1 | affected |
| Linux | Linux | 6.8 | affected |
| Linux | Linux | 0 < 6.8 | unaffected |
| Linux | Linux | 6.12.104 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.45 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.9 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/1344b632cb5043e32939a84568125719111c5af3
- https://git.kernel.org/stable/c/2a5cfcad1d56e26d645b7887b0ed24c371851525
- https://git.kernel.org/stable/c/5bd63cad9df4328a184c409fbdad4f17944bcdb8
- https://git.kernel.org/stable/c/3e8ec7c0387273329374f5c7bd61f5f38af71fe1
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.