First published: Wed Jul 07 2010(Updated: )
Description of problem: When read_buf is called to move over to the next page in the pagelist of an NFSv4 request, it sets argp->end to essentially a random number, certainly not an address within the page which argp->p now points to. So subsequent calls to READ_BUF will think there is much more than a page of spare space (the cast to u32 ensures an unsigned comparison) so we can expect to fall off the end of the second page. We never encountered this in testing because typically the only operations which use more than two pages are write-like operations, which have their own decoding logic. Something like a getattr after a write may cross a page boundary, but it would be very unusual for it to cross another boundary after that. Upstream commit: <a href="http://git.kernel.org/linus/2bc3c1179c781b359d4f2f3439cb3df72afc17fc">http://git.kernel.org/linus/2bc3c1179c781b359d4f2f3439cb3df72afc17fc</a>
Credit: secalert@redhat.com secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
debian/linux-2.6 | ||
Linux Kernel | <=2.6.34 | |
Linux Kernel | =2.6.0 | |
Linux Kernel | =2.6.1 | |
Linux Kernel | =2.6.2 | |
Linux Kernel | =2.6.3 | |
Linux Kernel | =2.6.4 | |
Linux Kernel | =2.6.5 | |
Linux Kernel | =2.6.6 | |
Linux Kernel | =2.6.7 | |
Linux Kernel | =2.6.8 | |
Linux Kernel | =2.6.8.1 | |
Linux Kernel | =2.6.9 | |
Linux Kernel | =2.6.10 | |
Linux Kernel | =2.6.11 | |
Linux Kernel | =2.6.11.1 | |
Linux Kernel | =2.6.11.2 | |
Linux Kernel | =2.6.11.3 | |
Linux Kernel | =2.6.11.4 | |
Linux Kernel | =2.6.11.5 | |
Linux Kernel | =2.6.11.6 | |
Linux Kernel | =2.6.11.7 | |
Linux Kernel | =2.6.11.8 | |
Linux Kernel | =2.6.11.9 | |
Linux Kernel | =2.6.11.10 | |
Linux Kernel | =2.6.11.11 | |
Linux Kernel | =2.6.11.12 | |
Linux Kernel | =2.6.12 | |
Linux Kernel | =2.6.12.1 | |
Linux Kernel | =2.6.12.2 | |
Linux Kernel | =2.6.12.3 | |
Linux Kernel | =2.6.12.4 | |
Linux Kernel | =2.6.12.5 | |
Linux Kernel | =2.6.12.6 | |
Linux Kernel | =2.6.13 | |
Linux Kernel | =2.6.13.1 | |
Linux Kernel | =2.6.13.2 | |
Linux Kernel | =2.6.13.3 | |
Linux Kernel | =2.6.13.4 | |
Linux Kernel | =2.6.13.5 | |
Linux Kernel | =2.6.14 | |
Linux Kernel | =2.6.14.1 | |
Linux Kernel | =2.6.14.3 | |
Linux Kernel | =2.6.14.4 | |
Linux Kernel | =2.6.14.5 | |
Linux Kernel | =2.6.14.6 | |
Linux Kernel | =2.6.14.7 | |
Linux Kernel | =2.6.15 | |
Linux Kernel | =2.6.15.1 | |
Linux Kernel | =2.6.15.2 | |
Linux Kernel | =2.6.15.3 | |
Linux Kernel | =2.6.15.4 | |
Linux Kernel | =2.6.15.5 | |
Linux Kernel | =2.6.15.6 | |
Linux Kernel | =2.6.15.7 | |
Linux Kernel | =2.6.16 | |
Linux Kernel | =2.6.16.1 | |
Linux Kernel | =2.6.16.2 | |
Linux Kernel | =2.6.16.3 | |
Linux Kernel | =2.6.16.4 | |
Linux Kernel | =2.6.16.5 | |
Linux Kernel | =2.6.16.6 | |
Linux Kernel | =2.6.16.7 | |
Linux Kernel | =2.6.16.8 | |
Linux Kernel | =2.6.16.9 | |
Linux Kernel | =2.6.16.10 | |
Linux Kernel | =2.6.16.11 | |
Linux Kernel | =2.6.16.12 | |
Linux Kernel | =2.6.16.13 | |
Linux Kernel | =2.6.16.14 | |
Linux Kernel | =2.6.16.15 | |
Linux Kernel | =2.6.16.16 | |
Linux Kernel | =2.6.16.17 | |
Linux Kernel | =2.6.16.18 | |
Linux Kernel | =2.6.16.19 | |
Linux Kernel | =2.6.16.20 | |
Linux Kernel | =2.6.16.21 | |
Linux Kernel | =2.6.16.22 | |
Linux Kernel | =2.6.16.23 | |
Linux Kernel | =2.6.16.24 | |
Linux Kernel | =2.6.16.25 | |
Linux Kernel | =2.6.16.26 | |
Linux Kernel | =2.6.16.27 | |
Linux Kernel | =2.6.16.28 | |
Linux Kernel | =2.6.16.29 | |
Linux Kernel | =2.6.16.30 | |
Linux Kernel | =2.6.16.31 | |
Linux Kernel | =2.6.17 | |
Linux Kernel | =2.6.17.1 | |
Linux Kernel | =2.6.17.2 | |
Linux Kernel | =2.6.17.3 | |
Linux Kernel | =2.6.17.4 | |
Linux Kernel | =2.6.17.5 | |
Linux Kernel | =2.6.17.6 | |
Linux Kernel | =2.6.17.7 | |
Linux Kernel | =2.6.17.8 | |
Linux Kernel | =2.6.17.9 | |
Linux Kernel | =2.6.17.10 | |
Linux Kernel | =2.6.17.11 | |
Linux Kernel | =2.6.17.12 | |
Linux Kernel | =2.6.17.13 | |
Linux Kernel | =2.6.17.14 | |
Linux Kernel | =2.6.18.1 | |
Linux Kernel | =2.6.18.2 | |
Linux Kernel | =2.6.18.3 | |
Linux Kernel | =2.6.18.4 | |
Linux Kernel | =2.6.18.5 | |
Linux Kernel | =2.6.18.6 | |
Linux Kernel | =2.6.18.7 | |
Linux Kernel | =2.6.18.8 | |
Linux Kernel | =2.6.22 | |
Linux Kernel | =2.6.22.2 | |
Linux Kernel | =2.6.22.3 | |
Linux Kernel | =2.6.22.4 | |
Linux Kernel | =2.6.22.5 | |
Linux Kernel | =2.6.22.6 | |
Linux Kernel | =2.6.22.7 | |
Linux Kernel | =2.6.23 | |
Linux Kernel | =2.6.23-rc1 | |
Linux Kernel | =2.6.23-rc2 | |
Linux Kernel | =2.6.23.1 | |
Linux Kernel | =2.6.23.2 | |
Linux Kernel | =2.6.23.3 | |
Linux Kernel | =2.6.23.4 | |
Linux Kernel | =2.6.23.5 | |
Linux Kernel | =2.6.23.6 | |
Linux Kernel | =2.6.23.7 | |
Linux Kernel | =2.6.24-rc1 | |
Linux Kernel | =2.6.24-rc2 | |
Linux Kernel | =2.6.24-rc3 | |
Linux Kernel | =2.6.24-rc4 | |
Linux Kernel | =2.6.24-rc5 | |
Linux Kernel | =2.6.32 | |
Linux Kernel | =2.6.32.1 | |
Linux Kernel | =2.6.32.2 | |
Linux Kernel | =2.6.32.3 | |
Linux Kernel | =2.6.32.4 | |
Linux Kernel | =2.6.33 | |
Linux Kernel | =2.6.33-rc1 | |
Linux Kernel | =2.6.33-rc2 | |
Linux Kernel | =2.6.33-rc3 | |
Linux Kernel | =2.6.33-rc4 | |
Linux Kernel | =2.6.33-rc5 | |
Linux Kernel | =2.6.33-rc6 | |
Linux Kernel | =2.6.33.1 | |
Linux Kernel | =2.6.33.2 | |
Linux Kernel | =2.6.34-rc1 | |
Linux Kernel | =2.6.34-rc2 | |
Linux Kernel | =2.6.34-rc3 | |
Linux Kernel | =2.6.34-rc4 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2010-2521 has a medium severity rating due to potential impacts on system stability and security.
To fix CVE-2010-2521, update your Linux kernel to a version that includes the patch addressing this vulnerability.
CVE-2010-2521 affects multiple versions of the Linux kernel up to and including 2.6.34.
Systems running vulnerable Linux kernel versions that utilize NFSv4 requests are at risk from CVE-2010-2521.
Yes, CVE-2010-2521 may lead to data corruption or loss depending on the operations being performed on the affected NFSv4 requests.