今天看啥  ›  专栏  ›  看雪学苑

CVE-2023-0461复现笔记

看雪学苑  · 公众号  · 互联网安全  · 2024-09-12 17:59

文章预览

一 环境搭建 commit:2c85ebc57b3e1817b6ce1a6b703928e113a90442 总的config: defconfig+menuconfig CONFIG_CONFIGFS_FS=y CONFIG_SECURITYFS=y CONFIG_NET_SCHED=y CONFIG_DEBUG_INFO=y CONFIG_USER_NS=y #支持新的namespace CONFIG_USERFAULTFD=y #支持userfaultfd CONFIG_TLS=y #漏洞触发必要选项 CONFIG_XFRM_ESPINTCP=y #漏洞触发必要选项,二者选其一 (同样是修改了objtool的一个代码) 二 背景知识 Linux 内核在处理 icsk->icsk_ulp_data 指针时存在错误导致 UAF, 源代码: https://elixir.bootlin.com/linux/v5.10/source/net/ipv4/tcp_ulp.c#L150 主要的tcp_*_ulp函数分析 如果 socket 设置 ulp 后进入 listen 状态,然后有其他 socket 发起 connect 系统调用请求连接,新创建的 sk 对象 会拷贝 icsk->icsk_ulp_data 指针,相关代码位于 如下: https://elixir.bootlin.com/linux/v5.10/source/net/core/sock.c#L1857 struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority) { struct proto *prot = READ ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览