前言
2026年6月10日,Oracle紧急发布越界安全公告,披露了编号为CVE-2026-35273的PeopleSoft Enterprise PeopleTools高危零日漏洞,CVSS 3.1评分高达9.8分,属于最严重的“未认证、无交互、远程代码执行”级别。
漏洞披露前的两周时间窗口内,知名勒索数据窃取团伙**ShinyHunters(UNC6240)**已完成全球范围内的在野利用,超100家机构、300余台PeopleSoft实例被入侵,其中68%为海外高校,同时波及大型企业HR、财务、供应链等核心ERP系统。该漏洞的爆发再次暴露了商用企业级应用“重功能、轻安全”的普遍现状,也为国内大量部署PeopleSoft的央企、国企、高校敲响了警钟。
本文将从漏洞原理、攻击链复现、在野利用态势、检测规则、加固方案五个维度进行全链路拆解,并给出可直接落地的企业级防御体系建设方案。
一、漏洞全局档案与组件背景
1.1 漏洞核心信息
| CVE编号 | CVE-2026-35273 |
| CVSS 3.1评分 | 9.8(CRITICAL 严重) |
| 攻击向量 | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 漏洞类型 | SSRF服务端请求伪造 → 远程代码执行(CWE-918) |
| 受影响组件 | PeopleSoft Update Environment Management Hub(PSEMHUB) |
| 受影响版本 | PeopleTools 8.61、PeopleTools 8.62(官方确认);更早停服版本大概率受影响 |
| 披露时间 | 2026-06-10(Oracle紧急补丁发布) |
| 在野利用起始 | 2026-05-27(零日利用窗口约14天) |
| 官方定性 | 可远程无认证接管服务器,数据泄露风险极高 |
| 监管收录 | 已纳入CISA KEV已知被利用漏洞目录,要求联邦机构限期修复 |
1.2 高危组件PSEMHUB技术背景
PSEMHUB(PeopleSoft Update Environment Management Hub)是Oracle PeopleTools自带的环境更新管理服务,主要用于PeopleSoft系统的补丁推送、环境同步、版本管理,默认随PeopleTools 8.60+版本部署。
该组件具备两个核心风险特征:
由于PeopleSoft通常承载企业核心人事、薪酬、财务、学生学籍等敏感数据,该漏洞的影响远大于普通Web应用漏洞,一次成功攻击即可直接窃取全量核心业务数据。
二、漏洞技术原理深度解析
2.1 根因分析:从设计缺陷到安全漏洞
漏洞的核心成因是PSEMHUB的adapter接口对用户传入的target参数未做地址白名单校验,且接口本身未配置身份认证拦截。
正常业务逻辑下,target参数仅允许指向PeopleSoft集群内部的受信任节点;但代码层面未对IP、域名、端口做任何限制,攻击者可将target修改为任意内网地址,让PSEMHUB服务器作为代理发起内网HTTP请求,形成无认证SSRF漏洞。
2.2 攻击跃升:SSRF到RCE的完整链路
单独的SSRF漏洞通常只能实现内网探测、端口扫描,但PeopleSoft的架构特性让该漏洞直接升级为RCE:
- PeopleSoft应用服务器的本地管理接口(PSADMIN Web端口)默认监听127.0.0.1,且本地访问无需认证;
- 该管理接口支持执行系统级命令(重启服务、修改配置、执行脚本等),仅限制本地访问;
- 攻击者通过SSRF精准命中本地管理接口,即可绕过访问限制,调用命令执行功能。
最终,攻击者从“公网匿名访问”起点,仅需一次HTTP请求,即可在目标服务器执行任意系统命令,实现完整的远程接管。
2.3 完整攻击技术流程图
#mermaid-svg-S8qyJD3tONLTU3Y3{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-S8qyJD3tONLTU3Y3 .error-icon{fill:#552222;}#mermaid-svg-S8qyJD3tONLTU3Y3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-S8qyJD3tONLTU3Y3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .marker.cross{stroke:#333333;}#mermaid-svg-S8qyJD3tONLTU3Y3 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-S8qyJD3tONLTU3Y3 p{margin:0;}#mermaid-svg-S8qyJD3tONLTU3Y3 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .cluster-label text{fill:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .cluster-label span{color:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .cluster-label span p{background-color:transparent;}#mermaid-svg-S8qyJD3tONLTU3Y3 .label text,#mermaid-svg-S8qyJD3tONLTU3Y3 span{fill:#333;color:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .node rect,#mermaid-svg-S8qyJD3tONLTU3Y3 .node circle,#mermaid-svg-S8qyJD3tONLTU3Y3 .node ellipse,#mermaid-svg-S8qyJD3tONLTU3Y3 .node polygon,#mermaid-svg-S8qyJD3tONLTU3Y3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .rough-node .label text,#mermaid-svg-S8qyJD3tONLTU3Y3 .node .label text,#mermaid-svg-S8qyJD3tONLTU3Y3 .image-shape .label,#mermaid-svg-S8qyJD3tONLTU3Y3 .icon-shape .label{text-anchor:middle;}#mermaid-svg-S8qyJD3tONLTU3Y3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .rough-node .label,#mermaid-svg-S8qyJD3tONLTU3Y3 .node .label,#mermaid-svg-S8qyJD3tONLTU3Y3 .image-shape .label,#mermaid-svg-S8qyJD3tONLTU3Y3 .icon-shape .label{text-align:center;}#mermaid-svg-S8qyJD3tONLTU3Y3 .node.clickable{cursor:pointer;}#mermaid-svg-S8qyJD3tONLTU3Y3 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .arrowheadPath{fill:#333333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-S8qyJD3tONLTU3Y3 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-S8qyJD3tONLTU3Y3 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-S8qyJD3tONLTU3Y3 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-S8qyJD3tONLTU3Y3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .cluster text{fill:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 .cluster span{color:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-S8qyJD3tONLTU3Y3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-S8qyJD3tONLTU3Y3 rect.text{fill:none;stroke-width:0;}#mermaid-svg-S8qyJD3tONLTU3Y3 .icon-shape,#mermaid-svg-S8qyJD3tONLTU3Y3 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-S8qyJD3tONLTU3Y3 .icon-shape p,#mermaid-svg-S8qyJD3tONLTU3Y3 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-S8qyJD3tONLTU3Y3 .icon-shape .label rect,#mermaid-svg-S8qyJD3tONLTU3Y3 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-S8qyJD3tONLTU3Y3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-S8qyJD3tONLTU3Y3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-S8qyJD3tONLTU3Y3 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
1. 匿名HTTP请求
2. 未校验target参数
3. 访问本地127.0.0.1管理端口
4. 调用命令执行功能
5. 读取配置文件窃取明文凭证
6. 批量拖库+权限持久化
公网攻击者
PSEMHUB adapter接口
SSRF转发请求
PSADMIN本地管理接口
获取系统Shell权限
数据库/域控横向移动
数据泄露+勒索敲诈
三、在野攻击链完整拆解(ShinyHunters团伙)
本次零日漏洞的主要利用者为UNC6240(别名ShinyHunters)团伙,该团伙以“数据窃取+双重勒索”为核心模式,过往曾针对多家高校、企业发起攻击,擅长利用企业级应用零日漏洞快速打点。
3.1 攻击五阶段实战路径
阶段1:资产测绘与批量打点
攻击者通过Shodan、Fofa等搜索引擎,批量检索公网暴露的/PSEMHUB/路径端点,筛选PeopleTools 8.61/8.62版本的目标,单日可完成数千台资产的探测。
阶段2:漏洞触发与权限获取
使用自动化工具批量发送SSRF payload,验证漏洞存在后直接执行命令,添加系统账号、写入WebShell,获得服务器持久化控制权。
阶段3:凭证窃取与信息收集
读取PeopleSoft核心配置文件psappsrv.cfg、connect.properties,从中获取数据库连接明文密码、域服务账号、管理员密钥等核心凭证。
阶段4:横向移动与数据定位
凭借窃取的凭证横向渗透至应用集群、数据库服务器、文件存储节点,定位HR数据、薪酬数据、学生信息、财务数据等高价值目标。
阶段5:数据窃取与勒索交付
批量导出数十GB核心数据至境外服务器,随后向受害机构发送勒索信,要求支付加密货币以保密数据,否则将在暗网公开。
3.2 受害面特征分析
本次攻击中高校成为第一重灾区,核心原因有三点:
国内视角看,大量央企、地方国企、金融机构均部署了PeopleSoft系统,多数存在公网暴露、补丁滞后问题,面临极高的被攻击风险。
四、漏洞复现与POC原理示例
合规声明:以下内容仅用于安全研究与防护验证,禁止用于非法攻击,未经授权测试他人系统属于违法行为。
4.1 环境前提
- 部署PeopleTools 8.61/8.62的测试环境
- PSEMHUB服务正常运行,可通过HTTP/HTTPS访问
- 测试环境已获得授权
4.2 漏洞探测请求示例
漏洞核心触发点为/PSEMHUB/adapter接口,通过构造带target参数的GET请求,可验证SSRF是否存在:
GET /PSEMHUB/adapter?target=http://127.0.0.1:8000/psadmin/ping HTTP/1.1
Host: peoplesoft-test.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Accept: */*
Connection: close
- 验证逻辑:若响应返回本地管理接口的ping返回包,则证明SSRF漏洞存在;
- 进阶利用:将target替换为命令执行接口地址,附带命令参数,即可实现RCE。
4.3 复现关键注意事项
五、多维度检测方案与规则示例
5.1 应用层日志检测规则
针对PeopleSoft访问日志,可通过以下特征检测攻击行为,以下为ELK/Splunk查询语句:
{
"query": {
"bool": {
"must": [
{"regexp": {"url.path": ".*PSEMHUB.*adapter.*"}},
{"regexp": {"url.query": "target=(http|https)://.*"}}
],
"filter": {
"range": {"@timestamp": {"gte": "now-30d"}}
}
}
}
}
检测特征:
- 访问路径包含/PSEMHUB/adapter
- 请求参数中target字段携带http/https协议的第三方地址
- 非内网IP来源的匿名访问
5.2 WAF拦截规则示例
以Nginx反向代理为例,补丁部署前可通过以下规则临时阻断漏洞接口的公网访问:
# CVE-2026-35273 临时防护规则
location ~* /PSEMHUB/ {
# 仅允许内网管理网段访问
allow 10.0.0.0/8;
allow 172.16.0.0/12;
allow 192.168.0.0/16;
# 公网直接拦截
deny all;
return 403;
}
5.3 主机层入侵排查清单
若怀疑系统已被入侵,需重点排查以下项:
六、官方补丁与企业级纵深防御方案
6.1 官方紧急补丁部署
Oracle已针对该漏洞发布越界紧急补丁,是最根本的修复方案:
6.2 补丁前临时缓解措施
若暂时无法部署补丁,需立即执行以下保命操作:
6.3 企业级ERP安全纵深防御体系
针对PeopleSoft这类核心ERP系统,需搭建四层防御体系,避免单一补丁失效导致的风险:
| 网络边界层 | 部署零信任网关,所有公网访问需身份认证;收敛暴露端口,仅开放必要业务端口;内网划分VPC,ERP集群与办公网隔离 |
| 应用安全层 | 定期做漏洞扫描与渗透测试;关闭所有非必要管理接口;统一配置身份认证与访问控制 |
| 数据安全层 | 配置文件、数据库密码加密存储;核心数据脱敏;开启数据库审计,监控批量查询行为 |
| 运维管理层 | 建立补丁更新机制,跟踪Oracle安全公告;定期备份核心数据;制定ERP专项应急响应预案 |
七、前瞻性展望:企业级应用的零日安全困局
CVE-2026-35273并非个例,近年来针对SAP、Oracle EBS、PeopleSoft等商用ERP系统的零日漏洞攻击呈爆发式增长,背后是三大趋势的叠加:
7.1 高价值目标成为勒索攻击主战场
勒索软件团伙的攻击目标已从普通企业转向核心业务系统,ERP系统承载企业最核心的数据,一次成功攻击即可获取数百万条敏感信息,勒索金额从几十万跃升至数百万甚至上千万,投入产出比远高于普通攻击。
7.2 商用软件的安全短板长期存在
商用企业级软件普遍存在“功能优先、安全后置”的问题,大量内置管理接口默认无认证、老旧组件长期不迭代、部署文档自带弱口令配置,为攻击者留下了大量可利用的攻击面。同时这类系统业务连续性要求高,补丁部署周期长,给了零日漏洞充足的利用窗口。
7.3 防御思路升级:从被动补丁到主动防御
面对零日漏洞的常态化威胁,企业不能再依赖“出漏洞打补丁”的被动模式,需转向主动防御:
八、应急响应行动清单
立即执行(24小时内)
短期执行(7天内)
长期建设(30天内)
结尾
CVE-2026-35273的爆发再次证明,核心业务系统早已成为网络攻击的主战场。对于大量部署Oracle PeopleSoft的国内企业与机构而言,一次漏洞的修复只是起点,构建完整的纵深防御体系、建立常态化的安全运营机制,才是应对未来零日威胁的根本解法。
