在 Linux 内核中发现了一个全新的权限提升漏洞,该漏洞可能允许本地攻击者以提升的权限在受影响的系统上执行代码。此外, 漏洞发现者 Davide 还发布了 PoC 和评论。

该漏洞编号为 CVE-2023-0179,被描述为 Netfilter 子系统中基于堆栈的缓冲区溢出。通过执行特制程序,经过身份验证的攻击者可以利用此漏洞以 root 身份获得提升的权限。


漏洞框架

Netfilter 是 Linux 内核提供的一个框架,它允许以自定义处理程序的形式实现各种与网络相关的操作。Netfilter 为数据包过滤、网络地址转换和端口转换提供各种功能和操作,它们提供了通过网络引导数据包和禁止数据包到达网络中的敏感位置所需的功能。


利用条件

内核配置需要开启 “CONFIG_NETFILTER”、“CONFIG_NF_TABLES”、“CONFIG_VLAN_8021Q”且启用 `CAP_NET_ADMIN` capability


影响版本

v5.5-rc1 <= Linux Kernel <= v6.2-rc4


漏洞细节

该漏洞包括由于nft_payload_copy_vlan函数内部的整数下溢漏洞导致的堆栈缓冲区溢出,只要当前skb中存在VLAN标记,就会使用nft_payload表达式调用该函数。


解决方案

禁用非特权用户命名空间

sysctl -w kernel.unprivileged_userns_clone = 0

建议用户立即更新 Linux 服务器,并在发行版可用时尽快应用补丁。 还建议他们只允许受信任的用户访问本地系统并始终监视受影响的系统。

PoC

​https://seclists.org/oss-sec/2023/q1/20​

java 参数返回泛型 java返回泛型的方法

1. public Type getGenericSuperclass() 用来返回表示当前Class 所表示的实体(类、接口、基本类型或 void)的直接超类的Type。如果这个直接超类是参数化类型的, 则返回的Type对象必须明确反映在源代码中声明时使用的类型。 2.public Type[] getGenericInterfaces() 与上面那个方法类似,只不过Java的类可以实现