ntfs: check overflow when iterating ATTR_RECORDs
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ntfs: check overflow when iterating ATTR_RECORDs Kernel iterates over ATTR_RECORDs in mft record in ntfs_attr_find(). Because the ATTR_RECORDs are next to each other, kernel can get the next ATTR_RECORD from end address of current ATTR_RECORD, through current ATTR_RECORD length field. The problem is that during iteration, when kernel calculates the end address of current ATTR_RECORD, kernel may trigger an integer overflow bug in executing `a = (ATTR_RECORD*)((u8*)a + le32_to_cpu(a->length))`. This may wrap, leading to a forever iteration on 32bit systems. This patch solves it by adding some checks on calculating end address of current ATTR_RECORD during iteration.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
2.6.12
References 8
git.kernel.org
- stable/c/5559eb5809353a83a40a1e4e7f066431c7b83020
- stable/c/86f36de14dce5802856bb7a5921d74439db00b64
- stable/c/45683723f6b53e39e8a4cec0894e61fd6ec71989
- stable/c/b612f924f296408d7d02fb4cd01218afd4ed7184
- stable/c/957732a09c3828267c2819d31c425aa793dd475b
- stable/c/b63ddb3ba61e2d3539f87e095c881e552bc45dab
- stable/c/785b2af9654b8beac55644e36da0085c5d776361
- stable/c/63095f4f3af59322bea984a6ae44337439348fe0