Python 被爆大 Bug,攻击者可远程代码执行漏洞!

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

近日,Python 软件基金会(PSF)释出 Python 3.8.8 和 3.9.2  版本,该版本主要修复了两个值得注意的安全漏洞,其中一个名为“CVE-2021-3177”的漏洞容易被攻击者远程利用,基于代码执行可让计算机脱机。

乍一看,让计算机脱机并不是什么大事,不过,倘若真的被有心之人利用该漏洞,那么,使用 Python 的用户难免会有一段糟心的体验。

对此,在 Python 3.8.8 和或 3.9.2 RC 版本刚刚发布三天之后,在部分用户对安全漏洞担忧的压力下,新版 Python 加快了发布的进程。同时,PSF 敦促 Python 用户尽快将系统升级到 Python 3.8.8 或 3.9.2,特别是需要解决被跟踪为 CVE-2021-3177 的远程代码执行(RCE)漏洞。

Python 发布团队表示:"自从宣布 Python 3.8.8 和 3.9.2 RC 版本发布以来,我们收到了来自终端用户的一些关于 CVE-2021-3177 安全方面的询问,并敦促我们加快最终版本的发布。”

具体的漏洞在于,Python 3.x 到 3.9.1 的 ctypes/callproc.c 中 PyCArg_repr 具有缓冲溢出,这可能导致远程代码执行。

它也会影响到 "接受浮点数作为不信任的输入的 Python 应用程序,如 c_double. param 的 1e300 参数所示。

该 Bug 的发生是因为不安全地使用了"sprintf"。影响之所以广泛,因为 Python 已预装安装到了多个 Linux 发行版和 Windows 10 系统中。

当前,各种 Linux 发行版(如 Debian)已经向后移植了安全补丁,以确保屏蔽内置版本的 Python。

RedHat 也发布公告表示,该漏洞是常见的内存缺陷。“在 Python 内提供的 ctypes 模块中发现了基于堆栈的缓冲区溢出。使用 ctypes 而不仔细验证传递给它的输入的应用程序可能容易受到此漏洞的攻击,这将允许攻击者通过缓冲区溢出并使应用程序奔溃。”

同时红帽也针对自家的版本进行了安全版本说明:

虽然远程代码执行漏洞是一则坏消息,不过,红帽官方指出这个漏洞带来的最大威胁是对系统可用性的威胁,这意味着攻击者可能只能发动拒绝服务攻击,简单来讲,就是让计算机停止提供服务。

不过,为了避免一些不必要的麻烦,还是呼吁大家尽快升级。

  • Python 新版下载地址:https://www.python.org/downloads/



☞售价17999元起,华为Mate X2发布;程序员10万“买”了个北京户口;赏金猎人获苹果5000美元奖励 | 极客头条☞股价狂涨 500 亿,小米手机业务与造车可否兼得?☞“内”忧“外”患,3 万台 Mac 有危险!
☞30 周岁的 Python,“虐”我 20 年
已标记关键词 清除标记
相关推荐
中文名: Python灰帽子-黑客与逆向工程师的Python编程之道 原名: Gray Hat Python:Python Programming for Hackers and Reverse Engineers 作者:Justin Seitz 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社 发行时间: 2011年03月01日 内容介绍: 《Python灰帽子:黑客与逆向工程师的Python编程之道》是由知名安全机构Immunity Inc的资深黑帽Justin Seitz先生主笔撰写的一本关于编程语言Python如何被广泛应用于黑客与逆向工程领域的书籍。老牌黑客,同时也是Immunity Inc的创始人兼首席技术执行官(CTO)Dave Aitel为本书担任了技术编辑一职。本书的绝大部分篇幅着眼于黑客技术领域中的两大经久不衰的话题:逆向工程与漏洞挖掘,并向读者呈现了几乎每个逆向工程师或安全研究人员在日常工作中所面临的各种场景,其中包括:如何设计与构建自己的调试工具,如何自动化实现烦琐的逆向分析任务,如何设计与构建自己的fuzzing工具,如何利用fuzzing测试来找出存在于软件产品中的安全漏洞,一些小技巧诸如钩子与注入技术的应用,以及对一些主流Python安全工具如PyDbg、Immunity Debugger、Sulley、IDAPython、PyEmu等的深入介绍。作者借助于如今黑客社区中备受青睐的编程语言Python引领读者构建出精悍的脚本程序来一一应对上述这些问题。出现在本书中的相当一部分Python代码实例借鉴或直接来源于一些优秀的开源安全项目,诸如Pedram Amini的Paimei,由此读者可以领略到安全研究者们是如何将黑客艺术与工程技术优雅融合来解决那些棘手问题的。 目录: 第1章 搭建开发环境 1.1 操作系统要求 1.2 获取和安装Python 2.5 1.2.1 在Windows下安装Python 1.2.2 在Linux下安装Python 1.3 安装Eclipse和PyDev 1.3.1 黑客挚友:ctype库 1.3.2 使用动态链接库 1.3.3 构建C数据类型 1.3.4 按引用传参 1.3.5 定义结构体和联合体 第2章 调试器原理和设计 2.1 通用寄存器 2.2 栈 2.3 调试事件 2.4 断点 2.4.1 软断点 2.4.2 硬件断点 2.4.3 内存断点 第3章 构建自己的Windows调试器 3.1 Debugee,敢问你在何处 3.2 获取寄存器状态信息 3.2.1 线程枚举 3.2.2 功能整合 3.3 实现调试事件处理例程 3.4 无所不能的断点 3.4.1 软断点 3.4.2 硬件断点 3.4.3 内存断点 3.5 总结 第4章 PyDbg——Windows下的纯Python调试器 4.1 扩展断点处理例程 4.2 非法内存操作处理例程 4.3 进程快照 4.3.1 获取进程快照 4.3.2 汇总与整合 第5章 Immunity Debugger——两极世界的最佳选择 5.1 安装Immunity Debugger 5.2 Immunity Debugger 5.2.1 PyCommand命令 5.2.2 PyHooks 5.3 Exploit(漏洞利用程序)开发 5.3.1 搜寻exploit友好指令 5.3.2 “坏”字符过滤 5.3.3 绕过Windows 下的DEP机制 5.4 破除恶意软件中的反调试例程 5.4.1 IsDebuugerPresent 5.4.2 破除进程枚举例程 第6章 钩子的艺术 6.1 使用PyDbg部署软钩子 6.2 使用Immunity Debugger部署硬钩子 第7章 DLL注入与代码注入技术 7.1 创建远程线程 7.1.1 DLL注入 7.1.2 代码注入 7.2 遁入黑暗 7.2.1 文件隐藏 7.2.2 构建后门 7.2.3 使用py2exe编译Python代码 第8章 Fuzzing 8.1 几种常见的bug类型 8.1.1 缓冲区溢出 8.1.2 整数溢出 8.1.3 格式化串攻击 8.2 文件Fuzzer 8.3 后续改进策略 8.3.1 代码覆盖率 8.3.2 自动化静态分析 第9章 Sulley 9.1 安装Sulley 9.2 Sulley中的基本数据类型 9.2.1 字符串 9.2.2 分隔符 9.2.3 静态和随机数据类型 9.2.4 二进制数据 9.2.5 整数 9.2.6 块与组 9.3 行刺WarFTPD 9.3.1 FTP 101 9.3.2 创建FTP协议描述框架 9.3.3 Sulley会话 9.3.4 网络和进程监控 9.3.5 Fuzzing测试以及Sulley的Web界面 第10章 面向Windows驱动的Fuzzing测试技术 10.1 驱动通信基础 10.2 使用Immunity Debugger进行驱动级的Fuzzing测试 10.3 Driverlib——面向驱动的静态分析工具 10.3.1 寻找设备名称 10.3.2 寻找IOCTL分派例程 10.3.3 搜寻有效的IOCTL控制码 10.4 构建一个驱动Fuzzer 第11章 IDAPython——IDA PRO环境下的Python脚本编程 11.1 安装IDAPython 11.2 IDAPython函数 11.2.1 两个工具函数 11.2.2 段(Segment) 11.2.3 函数 11.2.4 交叉引用 11.2.5 调试器钩子 11.3 脚本实例 11.3.1 搜寻危险函数的交叉代码 11.3.2 函数覆盖检测 11.3.3 检测栈变量大小 第12章 PYEmu——脚本驱动式仿真器 12.1 安装PyEmu 12.2 PyEmu概览 12.2.1 PyCPU 12.2.2 PyMemory 12.2.3 PyEmu 12.2.4 指令执行 12.2.5 内存修改器与寄存器修改器 12.2.6 处理例程(Handler) 12.3 IDAPyEmu 12.3.1 函数仿真 12.3.2 PEPyEmu 12.3.3 可执行文件加壳器 12.3.4 UPX加壳器 12.3.5 利用PEPyEmu脱UPX壳 ……
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页