CVE-2026-90096
CVE-2026-90096 · fuse: invalidate the correct range after O_APPEND direct write
This page contains facts from public vulnerability sources. Check the original advisory before updating.
This page shows selected source facts. See the linked advisories for the complete description and affected versions.
In the Linux kernel, the following vulnerability has been resolved: fuse: invalidate the correct range after O_APPEND direct write fuse_direct_write_iter() captures pos before generic_write_checks(), which moves ki_pos to EOF for O_APPEND writes: fuse_direct_write_iter() { pos = iocb->ki_pos; /* 0 (user-supplied) */ generic_write_checks(); /* ki_pos -> EOF */ fuse_direct_io(); /* writes at EOF, correct */ invalidate(pos, pos + res); /* [0, res) -- wrong */ } The post-write invalidation targets a stale range instead of the actual written range at EOF. This can cause data inconsistency when the file size is not page-aligned. The tail page straddling EOF has a valid portion before EOF that concurrent readers can fault back in during the DIO write window: Tail page (file size X not page-aligned): page_start X (EOF) page_end |--- valid data ----|-- stale --| CPU0 (O_APPEND DIO writer) CPU1 (buffered reader) -------------------------- ---------------------- invalidate [X, X+len) tail page evicted FUSE_WRITE in flight ... read [page_start, X) tail page re-faulted [X, page_end) = stale FUSE_WRITE completes i_size = X + len invalidate [0, len) <- WRONG tail page still cached read [X, X+len) hits stale tail page returns old data Fix by reading pos back from iocb->ki_pos after generic_write_checks(), as generic_file_direct_write() does. Also fix a typo in the comment ("may have" -> "may have competed").
EPSS 0.2%
- Published
- Updated
Stack: system
Affected products and versions
linux
- Versions
- ≥ 2b0408d0284f4ff376cf5610fa8c9905e93c2541, < 833963069adf86dcbdffd4e7d7b3171f95070b77: Affected (git)
- ≥ 2b0408d0284f4ff376cf5610fa8c9905e93c2541, < 26d7e1f5c407b5859122b5cd47d7ebbf4b4c1cd2: Affected (git)
No fix published
linux
- Versions
- 7.2: Affected
- ≥ 0, < 7.2: Not affected (semver)
- ≥ 7.2.6, ≤ 7.2.*: Not affected (semver)
- ≥ 7.3: Not affected (original_commit_for_fix)
No fix published
linux-hwe-edge Ubuntu:16.04:LTS
- Versions
- 4.8.0-28.30~16.04.1
- 4.8.0-30.32~16.04.1
- 4.8.0-32.34~16.04.1
- 4.8.0-34.36~16.04.1
- 4.10.0-14.16~16.04.1
- 4.10.0-19.21~16.04.1
- 4.10.0-20.22~16.04.1
- 4.10.0-21.23~16.04.1
- 4.10.0-22.24~16.04.1
- 4.10.0-24.28~16.04.1
- 4.10.0-26.30~16.04.1
- 4.11.0-13.19~16.04.1
- 4.11.0-14.20~16.04.1
- 4.13.0-16.19~16.04.3
- 4.13.0-17.20~16.04.1
- 4.13.0-19.22~16.04.1
- 4.13.0-21.24~16.04.1
- 4.13.0-25.29~16.04.2
- 4.15.0-13.14~16.04.1
- 4.15.0-15.16~16.04.1
- 4.15.0-20.21~16.04.1
- 4.15.0-22.24~16.04.1
- 4.15.0-23.25~16.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-aws-5.0 Ubuntu:18.04:LTS
- Versions
- 5.0.0-1021.24~18.04.1
- 5.0.0-1022.25~18.04.1
- 5.0.0-1023.26~18.04.1
- 5.0.0-1024.27~18.04.1
- 5.0.0-1025.28
- 5.0.0-1027.30
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-aws-5.3 Ubuntu:18.04:LTS
- Versions
- 5.3.0-1016.17~18.04.1
- 5.3.0-1017.18~18.04.1
- 5.3.0-1019.21~18.04.1
- 5.3.0-1023.25~18.04.1
- 5.3.0-1028.30~18.04.1
- 5.3.0-1030.32~18.04.1
- 5.3.0-1032.34~18.04.2
- 5.3.0-1033.35
- 5.3.0-1034.36
- 5.3.0-1035.37
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-azure Ubuntu:18.04:LTS
- Versions
- 4.15.0-1002.2
- 4.15.0-1003.3
- 4.15.0-1004.4
- 4.15.0-1008.8
- 4.15.0-1009.9
- 4.15.0-1012.12
- 4.15.0-1013.13
- 4.15.0-1014.14
- 4.15.0-1018.18
- 4.15.0-1019.19
- 4.15.0-1021.21
- 4.15.0-1022.23
- 4.15.0-1023.24
- 4.15.0-1025.26
- 4.15.0-1028.29
- 4.15.0-1030.31
- 4.15.0-1031.32
- 4.15.0-1032.33
- 4.15.0-1035.36
- 4.15.0-1036.38
- 4.15.0-1037.39
- 4.18.0-1011.11~18.04.1
- 4.18.0-1013.13~18.04.1
- 4.18.0-1014.14~18.04.1
- 4.18.0-1018.18~18.04.1
- 4.18.0-1019.19~18.04.1
- 4.18.0-1020.20~18.04.1
- 4.18.0-1023.24~18.04.1
- 4.18.0-1024.25~18.04.1
- 4.18.0-1025.27~18.04.1
- 5.0.0-1014.14~18.04.1
- 5.0.0-1016.17~18.04.1
- 5.0.0-1018.19~18.04.1
- 5.0.0-1020.21~18.04.1
- 5.0.0-1022.23~18.04.1
- 5.0.0-1023.24~18.04.1
- 5.0.0-1025.27~18.04.1
- 5.0.0-1027.29~18.04.1
- 5.0.0-1028.30~18.04.1
- 5.0.0-1029.31~18.04.1
- 5.0.0-1031.33
- 5.0.0-1032.34
- 5.0.0-1035.37
- 5.0.0-1036.38
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-azure-5.3 Ubuntu:18.04:LTS
- Versions
- 5.3.0-1007.8~18.04.1
- 5.3.0-1008.9~18.04.1
- 5.3.0-1009.10~18.04.1
- 5.3.0-1010.11~18.04.1
- 5.3.0-1012.13~18.04.1
- 5.3.0-1013.14~18.04.1
- 5.3.0-1016.17~18.04.1
- 5.3.0-1018.19~18.04.1
- 5.3.0-1019.20~18.04.1
- 5.3.0-1020.21~18.04.1
- 5.3.0-1022.23~18.04.1
- 5.3.0-1028.29~18.04.1
- 5.3.0-1031.32~18.04.1
- 5.3.0-1032.33~18.04.1
- 5.3.0-1034.35~18.04.1
- 5.3.0-1035.36
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-azure-edge Ubuntu:18.04:LTS
- Versions
- 4.18.0-1006.6~18.04.1
- 4.18.0-1007.7~18.04.1
- 4.18.0-1008.8~18.04.1
- 5.0.0-1012.12~18.04.2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-gcp Ubuntu:18.04:LTS
- Versions
- 4.15.0-1001.1
- 4.15.0-1003.3
- 4.15.0-1005.5
- 4.15.0-1006.6
- 4.15.0-1008.8
- 4.15.0-1009.9
- 4.15.0-1010.10
- 4.15.0-1014.14
- 4.15.0-1015.15
- 4.15.0-1017.18
- 4.15.0-1018.19
- 4.15.0-1019.20
- 4.15.0-1021.22
- 4.15.0-1023.24
- 4.15.0-1024.25
- 4.15.0-1025.26
- 4.15.0-1026.27
- 4.15.0-1027.28
- 4.15.0-1028.29
- 4.15.0-1029.31
- 4.15.0-1030.32
- 4.15.0-1032.34
- 4.15.0-1033.35
- 4.15.0-1034.36
- 4.15.0-1036.38
- 4.15.0-1037.39
- 4.15.0-1040.42
- 4.15.0-1042.45
- 4.15.0-1044.70
- 5.0.0-1020.20~18.04.1
- 5.0.0-1021.21~18.04.1
- 5.0.0-1025.26~18.04.1
- 5.0.0-1026.27~18.04.1
- 5.0.0-1028.29~18.04.1
- 5.0.0-1029.30~18.04.1
- 5.0.0-1031.32
- 5.0.0-1033.34
- 5.0.0-1034.35
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-gcp-5.3 Ubuntu:18.04:LTS
- Versions
- 5.3.0-1008.9~18.04.1
- 5.3.0-1009.10~18.04.1
- 5.3.0-1010.11~18.04.1
- 5.3.0-1012.13~18.04.1
- 5.3.0-1014.15~18.04.1
- 5.3.0-1016.17~18.04.1
- 5.3.0-1017.18~18.04.1
- 5.3.0-1018.19~18.04.1
- 5.3.0-1020.22~18.04.1
- 5.3.0-1026.28~18.04.1
- 5.3.0-1029.31~18.04.1
- 5.3.0-1030.32~18.04.1
- 5.3.0-1032.34~18.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-gke-4.15 Ubuntu:18.04:LTS
- Versions
- 4.15.0-1030.32
- 4.15.0-1032.34
- 4.15.0-1033.35
- 4.15.0-1034.36
- 4.15.0-1036.38
- 4.15.0-1037.39
- 4.15.0-1040.42
- 4.15.0-1041.43
- 4.15.0-1042.44
- 4.15.0-1044.46
- 4.15.0-1045.48
- 4.15.0-1046.49
- 4.15.0-1048.51
- 4.15.0-1049.52
- 4.15.0-1050.53
- 4.15.0-1052.55
- 4.15.0-1055.58
- 4.15.0-1057.60
- 4.15.0-1058.61
- 4.15.0-1059.62
- 4.15.0-1063.66
- 4.15.0-1064.67
- 4.15.0-1066.69
- 4.15.0-1067.70
- 4.15.0-1069.72
- 4.15.0-1070.73
- 4.15.0-1072.76
- 4.15.0-1073.78
- 4.15.0-1074.79
- 4.15.0-1076.81
- 4.15.0-1077.82
- 4.15.0-1078.83
- 4.15.0-1079.84
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-gke-5.4 Ubuntu:18.04:LTS
- Versions
- 5.4.0-1025.25~18.04.1
- 5.4.0-1027.28~18.04.1
- 5.4.0-1029.31~18.04.1
- 5.4.0-1030.32~18.04.1
- 5.4.0-1032.34~18.04.1
- 5.4.0-1033.35~18.04.1
- 5.4.0-1035.37~18.04.1
- 5.4.0-1036.38~18.04.1
- 5.4.0-1037.39~18.04.1
- 5.4.0-1039.41~18.04.1
- 5.4.0-1040.42~18.04.1
- 5.4.0-1042.44~18.04.1
- 5.4.0-1043.45~18.04.1
- 5.4.0-1044.46~18.04.1
- 5.4.0-1046.48~18.04.1
- 5.4.0-1049.52~18.04.1
- 5.4.0-1051.54~18.04.1
- 5.4.0-1052.55~18.04.1
- 5.4.0-1053.56~18.04.1
- 5.4.0-1054.57~18.04.1
- 5.4.0-1055.58~18.04.1
- 5.4.0-1056.59~18.04.1
- 5.4.0-1057.60~18.04.1
- 5.4.0-1059.62~18.04.1
- 5.4.0-1061.64~18.04.1
- 5.4.0-1062.65~18.04.1
- 5.4.0-1063.66~18.04.1
- 5.4.0-1065.68~18.04.1
- 5.4.0-1066.69~18.04.1
- 5.4.0-1067.70~18.04.1
- 5.4.0-1068.71~18.04.1
- 5.4.0-1071.76~18.04.3
- 5.4.0-1072.77~18.04.1
- 5.4.0-1074.79~18.04.1
- 5.4.0-1076.82~18.04.1
- 5.4.0-1078.84~18.04.1
- 5.4.0-1080.86~18.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-gkeop-5.4 Ubuntu:18.04:LTS
- Versions
- 5.4.0-1001.1
- 5.4.0-1003.3
- 5.4.0-1004.5
- 5.4.0-1005.6
- 5.4.0-1007.8~18.04.1
- 5.4.0-1008.9~18.04.1
- 5.4.0-1009.10~18.04.1
- 5.4.0-1010.11~18.04.1
- 5.4.0-1011.12~18.04.2
- 5.4.0-1012.13~18.04.1
- 5.4.0-1013.14~18.04.1
- 5.4.0-1014.15~18.04.1
- 5.4.0-1015.16~18.04.1
- 5.4.0-1016.17~18.04.1
- 5.4.0-1018.19~18.04.1
- 5.4.0-1021.22~18.04.1
- 5.4.0-1022.23~18.04.1
- 5.4.0-1023.24~18.04.1
- 5.4.0-1024.25~18.04.1
- 5.4.0-1025.26~18.04.1
- 5.4.0-1026.27~18.04.1
- 5.4.0-1027.28~18.04.1
- 5.4.0-1029.30~18.04.2
- 5.4.0-1031.32~18.04.1
- 5.4.0-1032.33~18.04.1
- 5.4.0-1033.34~18.04.1
- 5.4.0-1034.35~18.04.1
- 5.4.0-1036.37~18.04.1
- 5.4.0-1037.38~18.04.1
- 5.4.0-1038.39~18.04.1
- 5.4.0-1039.40~18.04.1
- 5.4.0-1040.41~18.04.1
- 5.4.0-1043.44~18.04.1
- 5.4.0-1046.48~18.04.1
- 5.4.0-1048.51~18.04.1
- 5.4.0-1049.52~18.04.1
- 5.4.0-1051.54~18.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-hwe Ubuntu:18.04:LTS
- Versions
- 4.18.0-13.14~18.04.1
- 4.18.0-14.15~18.04.1
- 4.18.0-15.16~18.04.1
- 4.18.0-16.17~18.04.1
- 4.18.0-17.18~18.04.1
- 4.18.0-18.19~18.04.1
- 4.18.0-20.21~18.04.1
- 4.18.0-21.22~18.04.1
- 4.18.0-22.23~18.04.1
- 4.18.0-24.25~18.04.1
- 4.18.0-25.26~18.04.1
- 5.0.0-23.24~18.04.1
- 5.0.0-25.26~18.04.1
- 5.0.0-27.28~18.04.1
- 5.0.0-29.31~18.04.1
- 5.0.0-31.33~18.04.1
- 5.0.0-32.34~18.04.2
- 5.0.0-35.38~18.04.1
- 5.0.0-36.39~18.04.1
- 5.0.0-37.40~18.04.1
- 5.3.0-26.28~18.04.1
- 5.3.0-28.30~18.04.1
- 5.3.0-40.32~18.04.1
- 5.3.0-42.34~18.04.1
- 5.3.0-45.37~18.04.1
- 5.3.0-46.38~18.04.1
- 5.3.0-51.44~18.04.2
- 5.3.0-53.47~18.04.1
- 5.3.0-59.53~18.04.1
- 5.3.0-61.55~18.04.1
- 5.3.0-62.56~18.04.1
- 5.3.0-64.58~18.04.1
- 5.3.0-65.59
- 5.3.0-66.60
- 5.3.0-67.61
- 5.3.0-68.63
- 5.3.0-69.65
- 5.3.0-70.66
- 5.3.0-72.68
- 5.3.0-73.69
- 5.3.0-74.70
- 5.3.0-75.71
- 5.3.0-76.72
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-hwe-edge Ubuntu:18.04:LTS
- Versions
- 5.0.0-15.16~18.04.1
- 5.0.0-16.17~18.04.1
- 5.0.0-17.18~18.04.1
- 5.0.0-19.20~18.04.1
- 5.0.0-20.21~18.04.1
- 5.3.0-19.20~18.04.2
- 5.3.0-22.24~18.04.1
- 5.3.0-23.25~18.04.1
- 5.3.0-23.25~18.04.2
- 5.3.0-24.26~18.04.2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-oem Ubuntu:18.04:LTS
- Versions
- 4.15.0-1002.3
- 4.15.0-1004.5
- 4.15.0-1006.9
- 4.15.0-1008.11
- 4.15.0-1009.12
- 4.15.0-1012.15
- 4.15.0-1013.16
- 4.15.0-1015.18
- 4.15.0-1017.20
- 4.15.0-1018.21
- 4.15.0-1021.24
- 4.15.0-1024.29
- 4.15.0-1026.31
- 4.15.0-1028.33
- 4.15.0-1030.35
- 4.15.0-1033.38
- 4.15.0-1034.39
- 4.15.0-1035.40
- 4.15.0-1036.41
- 4.15.0-1038.43
- 4.15.0-1039.44
- 4.15.0-1043.48
- 4.15.0-1045.50
- 4.15.0-1050.57
- 4.15.0-1056.65
- 4.15.0-1057.66
- 4.15.0-1059.68
- 4.15.0-1063.72
- 4.15.0-1064.73
- 4.15.0-1065.75
- 4.15.0-1066.76
- 4.15.0-1067.77
- 4.15.0-1069.79
- 4.15.0-1073.83
- 4.15.0-1076.86
- 4.15.0-1079.89
- 4.15.0-1080.90
- 4.15.0-1081.91
- 4.15.0-1087.97
- 4.15.0-1090.100
- 4.15.0-1091.101
- 4.15.0-1093.103
- 4.15.0-1094.104
- 4.15.0-1096.106
- 4.15.0-1097.107
- 4.15.0-1099.109
- 4.15.0-1100.110
- 4.15.0-1101.112
- 4.15.0-1102.113
- 4.15.0-1103.114
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-oracle-5.0 Ubuntu:18.04:LTS
- Versions
- 5.0.0-1007.12~18.04.1
- 5.0.0-1008.13~18.04.1
- 5.0.0-1009.14~18.04.1
- 5.0.0-1010.15~18.04.1
- 5.0.0-1011.16
- 5.0.0-1013.18
- 5.0.0-1014.19
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-oracle-5.3 Ubuntu:18.04:LTS
- Versions
- 5.3.0-1011.12~18.04.1
- 5.3.0-1013.14~18.04.1
- 5.3.0-1014.15~18.04.1
- 5.3.0-1016.18~18.04.1
- 5.3.0-1018.20~18.04.1
- 5.3.0-1024.26~18.04.1
- 5.3.0-1027.29~18.04.1
- 5.3.0-1028.30~18.04.1
- 5.3.0-1030.32~18.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-aws-5.11 Ubuntu:20.04:LTS
- Versions
- 5.11.0-1009.9~20.04.2
- 5.11.0-1014.15~20.04.1
- 5.11.0-1016.17~20.04.1
- 5.11.0-1017.18~20.04.1
- 5.11.0-1019.20~20.04.1
- 5.11.0-1020.21~20.04.2
- 5.11.0-1021.22~20.04.2
- 5.11.0-1022.23~20.04.1
- 5.11.0-1023.24~20.04.1
- 5.11.0-1025.27~20.04.1
- 5.11.0-1027.30~20.04.1
- 5.11.0-1028.31~20.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-aws-5.13 Ubuntu:20.04:LTS
- Versions
- 5.13.0-1008.9~20.04.2
- 5.13.0-1011.12~20.04.1
- 5.13.0-1012.13~20.04.1
- 5.13.0-1014.15~20.04.1
- 5.13.0-1017.19~20.04.1
- 5.13.0-1019.21~20.04.1
- 5.13.0-1021.23~20.04.2
- 5.13.0-1022.24~20.04.1
- 5.13.0-1023.25~20.04.1
- 5.13.0-1025.27~20.04.1
- 5.13.0-1028.31~20.04.1
- 5.13.0-1029.32~20.04.1
- 5.13.0-1031.35~20.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-aws-5.8 Ubuntu:20.04:LTS
- Versions
- 5.8.0-1035.37~20.04.1
- 5.8.0-1038.40~20.04.1
- 5.8.0-1041.43~20.04.1
- 5.8.0-1042.44~20.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-azure-5.11 Ubuntu:20.04:LTS
- Versions
- 5.11.0-1007.7~20.04.2
- 5.11.0-1012.13~20.04.1
- 5.11.0-1013.14~20.04.1
- 5.11.0-1015.16~20.04.1
- 5.11.0-1017.18~20.04.1
- 5.11.0-1019.20~20.04.1
- 5.11.0-1020.21~20.04.1
- 5.11.0-1021.22~20.04.1
- 5.11.0-1022.23~20.04.1
- 5.11.0-1023.24~20.04.1
- 5.11.0-1025.27~20.04.1
- 5.11.0-1027.30~20.04.1
- 5.11.0-1028.31~20.04.2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-azure-5.13 Ubuntu:20.04:LTS
- Versions
- 5.13.0-1009.10~20.04.2
- 5.13.0-1012.14~20.04.1
- 5.13.0-1013.15~20.04.1
- 5.13.0-1014.16~20.04.1
- 5.13.0-1017.19~20.04.1
- 5.13.0-1021.24~20.04.1
- 5.13.0-1022.26~20.04.1
- 5.13.0-1023.27~20.04.1
- 5.13.0-1025.29~20.04.1
- 5.13.0-1028.33~20.04.1
- 5.13.0-1029.34~20.04.1
- 5.13.0-1031.37~20.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
linux-azure-5.8 Ubuntu:20.04:LTS
- Versions
- 5.8.0-1033.35~20.04.1
- 5.8.0-1036.38~20.04.1
- 5.8.0-1039.42~20.04.1
- 5.8.0-1040.43~20.04.1
- 5.8.0-1041.44~20.04.1
- 5.8.0-1042.45~20.04.1
- 5.8.0-1043.46~20.04.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published