Description
fs/splice.c in the splice subsystem in the Linux kernel before 2.6.22.2 does not properly handle a failure of the add_to_page_cache_lru function, and subsequently attempts to unlock a page that was not locked, which allows local users to cause a denial of service (kernel BUG and system crash), as demonstrated by the fio I/O tool.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 4.0 | fai-kernels | 1.17+etch.22etch3 | DSA-1653-1 |
| Debian 4.0 | linux-2.6 | 2.6.18.dfsg.1-22etch3 | DSA-1653-1 |
| Debian 4.0 | user-mode-linux | 2.6.18-1um-2etch.22etch3 | DSA-1653-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 5 | kernel +12 | 2.6.18-92.1.18.el5 | RHSA-2008:0957 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 1
- Linux Kernel 2.6.x - 'add_to_page_cache_lru()' Local Denial of Service EDB-32384 · dos · Jul 20, 2007 · verified
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 2
- RHSA-2008:0957 Red Hat Security Advisory: kernel security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- DSA-1653-1 fai-kernels linux-2.6 user-mode-linux - several vulnerabilities Debian Security (DSA / DLA) · Mar 9, 2026
References
- [oss-security] 20080916 CVE request: kernel: splice: fix bad unlock_page() in error case mailing-list
- http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.26.y.git%3Ba=commit%3Bh=6a860c979b35469e4d77da781a96bdb2ca05ae64
- 32485 third-party-advisory
- 32237 third-party-advisory
- RHSA-2008:0957 vendor-advisory
- linux-kernel-addtopagecachelru-dos(45191) vdb-entry
- DSA-1653 vendor-advisory
- oval:org.mitre.oval:def:10547 vdb-entry signature
- https://bugzilla.redhat.com/show_bug.cgi?id=462434
- 32759 third-party-advisory
- [linux-kernel] 20070720 [PATCH] splice: fix bad unlock_page() in error case mailing-list
- http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.22.2
- SUSE-SR:2008:025 vendor-advisory
- 31201 vdb-entry
- http://www.juniper.net/security/auto/vulnerabilities/vuln31201.html