Description
In the Linux kernel, the following vulnerability has been resolved: ntfs: reject non-resident records for resident-only attributes The shared lookup-time attribute validator rejects non-resident $FILE_NAME and $VOLUME_NAME records because their formats require resident values and callers handle returned records as resident attributes. Other resident-only attribute types still pass through the generic non-resident mapping-pairs checks. That leaves real resident/non-resident union confusion paths. Inode load looks up $STANDARD_INFORMATION and then reads data.resident.value_offset without checking a->non_resident. ntfs_inode_sync_standard_information() does the same when updating the standard information value. ntfs_write_volume_flags() also looks up $VOLUME_INFORMATION and reads data.resident.value_offset directly. $INDEX_ROOT callers in dir.c and index.c depend on the same lookup contract before consuming the resident index root value. Reject non-resident records for all resident-only attribute types in the shared validator. Keep the existing $FILE_NAME and $VOLUME_NAME behavior, but factor it through a helper and extend it to $STANDARD_INFORMATION, $OBJECT_ID, $VOLUME_INFORMATION, $INDEX_ROOT, and $EA_INFORMATION. For $OBJECT_ID and $EA_INFORMATION this is contract hardening for resident-only formats; this patch only rejects the non-resident form and does not add new resident value validation for those types.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < b06b4fc2138ded8ee0b3dc602991ff6dbb10dd0aaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 6626fb859f4c4772f2f59751d23937716e03f98faffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 7ffa8f3d30236e0ab897c30bdb01224ff1fe1c89affected1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 to < b54c9beb90e570bae17a9c18442aeeaf17165ccbaffected1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 to < 097cdfd0a55df5af82c9753833f39a8bfadbcfcbaffected
Linux Linux
Default version status: affected
2.6.12affected7.1affected0 to < 2.6.12unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.9 to < 7.1unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/b06b4fc2138ded8ee0b3dc602991ff6dbb10dd0a ↗
- https://git.kernel.org/stable/c/6626fb859f4c4772f2f59751d23937716e03f98f ↗
- https://git.kernel.org/stable/c/7ffa8f3d30236e0ab897c30bdb01224ff1fe1c89 ↗
- https://git.kernel.org/stable/c/b54c9beb90e570bae17a9c18442aeeaf17165ccb ↗
- https://git.kernel.org/stable/c/097cdfd0a55df5af82c9753833f39a8bfadbcfcb ↗