各种内核漏洞利用
Linux 本地 root 提权漏洞利用。
theflow 针对 CVE-2021-22555 的 漏洞利用 的更新版本。
在 net/netfilter/x_tables.c 中发现了一个堆越界写入漏洞,影响自 v2.6.19-rc1 起的 Linux 内核。该漏洞允许攻击者通过用户命名空间获取权限,或造成 DoS(通过堆内存破坏)。
Linux 本地 root 提权漏洞利用。
Jann Horn 针对 CVE-2019-13272 的 漏洞利用 的更新版本。
在 5.1.17 之前的 Linux 内核中,kernel/ptrace.c 中的 ptrace_link 错误地处理了想要建立 ptrace 关系的进程的凭据记录,这允许本地用户利用某些父子进程关系场景获取 root 访问权限,在这种场景中,父进程放弃特权并调用 execve(可能允许攻击者控制)。促成因素之一是对象生命周期问题(也可能导致内核崩溃)。另一个促成因素是错误地将 ptrace 关系标记为特权关系,可通过(例如)Polkit 的 pkexec 辅助程序配合 PTRACE_TRACEME 加以利用。注意:在某些环境中,SELinux deny_ptrace 可能是一种可用的规避方法。
Linux 本地 root 提权漏洞利用。
Jann Horn 针对 CVE-2018-18955 的 漏洞利用 的封装脚本。
在 4.15.x 至 4.19.x(4.19.2 之前)的 Linux 内核中,kernel/user_namespace.c 中的 map_write() 允许权限提升,因为它错误处理了具有超过 5 个 UID 或 GID 范围的嵌套用户命名空间。在受影响的用户命名空间中拥有 CAP_SYS_ADMIN 的用户可以绕过命名空间外部资源的访问控制,如读取 /etc/shadow 所示。发生这种情况的原因是 ID 转换在“命名空间到内核”方向上正确进行,但在“内核到命名空间”方向上却未正确进行。
Linux 本地 root 提权漏洞利用。
wbowling 针对 CVE-2018-5333 的 漏洞利用 的更新版本。
在 4.14.13 及之前的 Linux 内核中,net/rds/rdma.c 中的 rds_cmsg_atomic 函数错误处理了页锁定失败或提供无效地址的情况,导致 rds_atomic_free_op 出现 NULL 指针解引用。
Linux 本地 root 提权漏洞利用。
xairy 针对 CVE-2017-1000112 的 漏洞利用 的更新版本。
Linux 内核:由于 UFO 到非 UFO 路径切换导致的可利用内存破坏。当使用 MSG_MORE 构建 UFO 数据包时,__ip_append_data() 调用 ip_ufo_append_data() 进行追加。然而,在两次 send() 调用之间,追加路径可以从 UFO 切换到非 UFO,从而导致内存破坏。若 UFO 数据包长度超过 MTU,copy = maxfraglen - skb->len 在非 UFO 路径上变为负数,并采取分配新 skb 的分支。这会触发碎片化以及 fraggap = skb_prev->len - maxfraglen 的计算。Fraggap 可能超过 MTU,导致 copy = datalen - transhdrlen - fraggap 变为负数。随后 skb_copy_and_csum_bits() 发生越界写入。IPv6 代码中也存在类似问题。该漏洞于 2005 年 10 月 18 日在 e89e9cf539a2("[IPv4/IPv6]: UFO Scatter-gather approach")中引入。
Linux 本地 root 提权漏洞利用。
xairy 针对 CVE-2017-7308 的 漏洞利用 的更新版本。
在 4.10.6 及之前的 Linux 内核中,net/packet/af_packet.c 中的 packet_set_ring 函数未正确验证某些块大小数据,这允许本地用户通过精心构造的系统调用造成拒绝服务(整数符号错误和越界写入),或获取权限(如果拥有 CAP_NET_RAW 能力)。
Linux 本地 root 提权漏洞利用。
xairy 针对 CVE-2016-9793 的 漏洞利用 的更新版本。
在 4.8.14 之前的 Linux 内核中,net/core/sock.c 中的 sock_setsockopt 函数错误处理了 sk_sndbuf 和 sk_rcvbuf 的负值,这允许本地用户利用 CAP_NET_ADMIN 能力,通过带有 (1) SO_SNDBUFFORCE 或 (2) SO_RCVBUFFORCE 选项的精心构造的 setsockopt 系统调用,造成拒绝服务(内存破坏和系统崩溃),或可能造成其他未指明的影响。
Linux 本地 root 提权漏洞利用。
rebel 针对 CVE-2016-8655 的 漏洞利用 的更新版本。
在 4.8.12 及之前的 Linux 内核中,net/packet/af_packet.c 存在竞态条件,允许本地用户利用 CAP_NET_RAW 能力更改套接字版本,从而获取权限或造成拒绝服务(释放后使用),这与 packet_set_ring 和 packet_setsockopt 函数有关。