p PatchFirst

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

Original sources

Check your server →