news 2026/5/9 2:16:43

Orkes Conductor SQL注入漏洞(CVE-2025-66387)分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Orkes Conductor SQL注入漏洞(CVE-2025-66387)分析

LevelBlue SpiderLabs: Orkes Conductor中的SQL注入:CVE-2025-66387

2025年12月18日

阅读时间:1分钟
作者:Tim Stamopoulos

我们的团队在Orkes Conductor平台(版本5.2.4 | v1.19.12)中发现了一个漏洞,该漏洞允许经过身份验证的攻击者对后端PostgreSQL数据库执行基于时间的盲注SQL注入攻击。

Orkes Conductor是一个用于建模复杂、分布式微服务和人工工作流的托管工作流编排平台。该漏洞源于/api/workflow/search端点中的“sort”参数输入验证不当,使得攻击者能够将精心构造的SQL表达式直接注入后端查询。


受影响的产品

  • 产品:Orkes Conductor
  • 版本:5.2.4 (平台 v1.19.12)
  • 受影响的组件/api/workflow/search
  • 数据库:PostgreSQL
  • CVE ID:CVE-2025-66387

漏洞详情

存在漏洞的端点接受用户控制的“sort”查询参数输入,该参数未经适当清理就直接嵌入后端执行的SQL语句中。虽然平台有基本的过滤机制来阻止常见攻击载荷,但研究人员成功使用基于时间的盲注技术绕过了这些检查。

以下概念验证(PoC)载荷导致服务器响应出现5秒的故意延迟,证实了存在基于时间的SQL注入漏洞:
?sort=(SELECT 1371 FROM PG_SLEEP(5))

另一个示例:
?sort=(SELECT 1 + CASE WHEN (SELECT ASCII(SUBSTRING(datname,1,1)) FROM pg_database LIMIT 1 OFFSET 0) = 112 THEN PG_SLEEP(5) ELSE 0 END)

如果数据库名称的第一个字符与指定的ASCII值(例如,112 对应字符 ‘p’)匹配,此载荷将触发可测量的时间延迟,从而实现逐字符的数据窃取。

此技术使得攻击者能够枚举数据库名称、表名和列元数据。

影响

成功利用此漏洞允许远程、经过身份验证的攻击者提取内部PostgreSQL数据库的名称和内容。根据部署和数据库配置,攻击者可能获得机密应用程序数据或编排的工作流状态信息。

根本原因

核心问题在于动态查询排序逻辑中未对SQL字符串构造进行清理。应用层的过滤不足以阻止逻辑注入链,并且未能使用预编译语句或查询参数化。

修复措施

该漏洞已由Orkes修复,建议用户更新到最新版本,并验证和转义所有用户提供的输入,使用带有绑定变量的预编译语句。

时间线

  • 发现日期:2025-09-15
  • 通知厂商:2025-09-19
  • CVE分配:2025-11-28
  • 公开披露:2025-12-18

致谢

该漏洞由Timothy Stamopoulos在一次客户参与中代表我们的团队发现。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 22:55:04

CAM++录音功能用不了?麦克风权限问题解决

CAM录音功能用不了?麦克风权限问题解决 1. 问题背景:为什么CAM的录音功能无法使用? 你是不是也遇到过这种情况:打开CAM说话人识别系统,想直接用麦克风录一段语音做测试,点击「麦克风」按钮却没反应&#…

作者头像 李华
网站建设 2026/5/2 7:50:40

开源AI模型选型指南:DeepSeek-R1蒸馏系列实战应用分析

开源AI模型选型指南:DeepSeek-R1蒸馏系列实战应用分析 1. 模型背景与核心价值 你有没有遇到过这样的问题:想用大模型做推理任务,但发现7B、13B的模型太重,跑不动?而小模型又“脑子不够用”,逻辑和数学题一…

作者头像 李华
网站建设 2026/5/2 14:18:22

麦橘超然支持Base64输出,便于集成到App

麦橘超然支持Base64输出,便于集成到App 麦橘超然 - Flux 离线图像生成控制台,正悄然改变本地AI绘画的工程落地方式。它不再只是开发者桌面上的一个Web界面,而是一个可被任意客户端调用的轻量级图像服务。其中最关键的一步进化,是…

作者头像 李华
网站建设 2026/4/27 3:07:21

【架构师经验分享】:CallerRunsPolicy在生产环境中的4种典型应用

第一章:CallerRunsPolicy的核心机制与适用边界核心执行逻辑 CallerRunsPolicy 是 JDK 线程池中一种独特的拒绝策略,其核心在于当线程池无法接受新任务时,由提交任务的线程(即调用者线程)直接执行该任务。这种机制避免了…

作者头像 李华
网站建设 2026/4/30 1:47:57

别再写笨重的比较器了!Stream多字段排序这样写才够优雅

第一章:告别冗长比较器,拥抱Stream优雅排序 在 Java 8 引入 Stream API 之前,对集合进行排序往往需要显式编写匿名内部类或独立的 Comparator 实现,代码冗长且可读性差。如今,借助 Stream.sorted() 及其函数式参数&a…

作者头像 李华