CVE-2022-49849
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix match incorrectly in dev_args_match_device
syzkaller found a failed assertion:
assertion failed: (args->devid != (u64)-1) || args->missing, in fs/btrfs/volumes.c:6921
This can be triggered when we set devid to (u64)-1 by ioctl. In this case, the match of devid will be skipped and the match of device may succeed incorrectly.
Patch 562d7b1512f7 introduced this function which is used to match device. This function contains two matching scenarios, we can distinguish them by checking the value of args->missing rather than check whether args->devid and args->uuid is default value.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 5578b681fbf2b22d61189a2539efd3009518b328 < c9fe4719c662e0af17eea723cf345e37719fd3c9 | affected |
| Linux | Linux | 562d7b1512f7369a19bca2883e2e8672d78f0481 < bc6c127c377010f136360552ebf91c2723081c1b | affected |
| Linux | Linux | 562d7b1512f7369a19bca2883e2e8672d78f0481 < 0fca385d6ebc3cabb20f67bcf8a71f1448bdc001 | affected |
| Linux | Linux | 5.15.54 < 5.15.79 | affected |
| Linux | Linux | 5.16 | affected |
| Linux | Linux | 0 < 5.16 | unaffected |
| Linux | Linux | 5.15.79 <= 5.15.* | unaffected |
| Linux | Linux | 6.0.9 <= 6.0.* | unaffected |
| Linux | Linux | 6.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/c9fe4719c662e0af17eea723cf345e37719fd3c9
- https://git.kernel.org/stable/c/bc6c127c377010f136360552ebf91c2723081c1b
- https://git.kernel.org/stable/c/0fca385d6ebc3cabb20f67bcf8a71f1448bdc001
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.