2026 年 7 月 17 日,国家信息安全漏洞库(CNVD)公开了 SAP NetWeaver Enterprise Portal EP-RUNTIME 7.50 的跨站脚本漏洞,编号 CNVD-2026-28155,对应 CVE-2026-44759。该漏洞危害等级为中危,原因是 SAP NetWeaver Enterprise Portal 未能正确验证 URL 参数输入,导致恶意脚本被反射回用户浏览器执行。攻击者可利用该漏洞窃取用户会话信息、篡改门户页面内容,或将用户重定向到钓鱼站点。厂商 SAP 已发布补丁,建议相关企业 IT 管理员尽快评估影响并修复。
一、漏洞基本信息
| 字段 | 内容 |
|---|---|
| CNVD-ID | CNVD-2026-28155 |
| CVE-ID | CVE-2026-44759 |
| 公开日期 | 2026-07-17 |
| 危害级别 | 中(AV:N/AC:L/Au:N/C:P/I:P/A:N) |
| 影响产品 | SAP NetWeaver Enterprise Portal EP-RUNTIME 7.50 |
| 漏洞类型 | 反射型跨站脚本(XSS,通用型漏洞) |
| 漏洞成因 | URL 参数输入验证不足,恶意脚本被反射回浏览器执行 |
| 修复状态 | 厂商已发布补丁 |
| SAP 补丁说明 | https://me.sap.com/notes/3746678 |
| 参考链接 | https://nvd.nist.gov/vuln/detail/CVE-2026-44759 |

二、漏洞原理:URL 参数里的反射型 XSS
SAP NetWeaver Enterprise Portal 是一款企业级门户平台,广泛用于大型企业内部统一入口、单点登录、内容聚合和业务系统集成。企业员工通常通过该门户访问 OA、ERP、CRM 等核心系统,因此门户会话具有较高的权限价值。
该漏洞属于典型的反射型 XSS(Reflected XSS):
- 攻击者构造一个包含恶意 JavaScript 代码的 URL,将恶意脚本参数嵌入到 SAP NetWeaver Enterprise Portal 的某个页面链接中;
- 攻击者通过邮件、企业 IM、钓鱼页面等方式诱导已登录用户点击该链接;
- 用户浏览器访问链接后,服务器端未对 URL 参数做充分过滤或编码,直接将恶意脚本原样返回;
- 浏览器在门户页面上下文中执行了攻击者注入的脚本,脚本能读取当前用户的 SAP 门户会话 Cookie、CSRF Token 等凭据;
- 攻击者拿到凭据后,可伪装成该用户登录门户,进而访问其有权查看的内部应用和数据。
反射型 XSS 与存储型 XSS 的最大区别在于:恶意脚本不会持久化保存在服务器数据库中,而是完全依赖诱导用户点击特定链接。虽然利用链需要一次点击,但在企业钓鱼邮件高度定向的场景下,成功率并不低。
三、攻击者利用后的三种危害
1. 窃取用户会话信息
这是最直接的危害。攻击者注入的脚本可以读取浏览器当前域下的 Cookie、LocalStorage 等身份凭据,回传到攻击者服务器。一旦门户使用了基于 Cookie 的会话保持机制,攻击者即可利用窃取的 Session ID 登录门户。
2. 篡改门户内容
攻击者可以在用户浏览器中执行 DOM 操作,修改门户页面显示的内容。例如:
- 伪造通知公告,诱导用户点击钓鱼链接;
- 篡改内部应用的跳转地址,把用户导向假冒的 ERP 登录页;
- 在门户首页插入恶意下载链接,诱导用户下载木马程序。
3. 重定向用户到恶意站点
攻击脚本可将用户当前页面重定向到外部钓鱼站点。由于用户是从信任的企业门户跳转出去的,很容易放松警惕,在钓鱼页面输入账号、密码、二次验证码等敏感信息。
四、影响范围:哪些企业需要警惕
以下几类环境受影响风险较高:
- 使用 SAP NetWeaver Enterprise Portal EP-RUNTIME 7.50 的企业:该版本明确受影响;
- 将 SAP 门户作为统一入口的大型企业:门户被攻陷意味着单点登录体系面临连锁风险;
- 门户与 ERP、CRM、HR 等系统深度集成的环境:攻击者可借窃取的会话进入更多业务系统;
- 允许外部供应商、合作伙伴访问门户的企业:外部账号安全意识参差不齐,更容易点击钓鱼链接。
如果你不确定企业是否在受影响范围内,可以联系 SAP Basis 团队或运维部门确认 EP-RUNTIME 版本号。
五、自查与修复建议
1. 确认版本号
SAP 管理员可以通过以下方式确认 NetWeaver Portal 版本:
- 登录 SAP 管理控制台(如 NWA / System Info 页面);
- 查看系统信息中的
EP-RUNTIME版本号; - 如果版本为 7.50 且补丁级别低于 SAP 修复说明要求的版本,则存在漏洞。
2. 应用 SAP 官方补丁
SAP 已针对 CVE-2026-44759 发布安全补丁,补丁说明地址为:
https://me.sap.com/notes/3746678
企业管理员应登录 SAP Support Portal 下载对应补丁,按 SAP 官方说明进行部署。部署前建议在测试系统(Sandbox)验证补丁兼容性,避免影响生产门户正常运行。
3. 临时缓解措施
如果业务不能立即打补丁,可以考虑以下临时缓解方案:
在 WAF 层拦截 XSS 攻击载荷
如果 SAP 门户前置了 Web 应用防火墙(如 百度云防护 WAF),可以启用 XSS 攻击检测规则,对包含 <script>、事件处理器(onerror、onload、onmouseover)、javascript: 伪协议等特征的 URL 参数进行拦截。
设置 HttpOnly 和 Secure Cookie 标志
在 SAP 门户配置中确保会话 Cookie 设置了 HttpOnly 属性,使 JavaScript 无法读取 Cookie,降低 XSS 窃取会话的风险。同时启用 Secure 标志,要求 Cookie 只能通过 HTTPS 传输。
* ABAP 示例:在 SAP 中设置 HttpOnly 属性(需根据具体 BSP/ICF 配置调整)
lo_response->set_cookie(
name = 'sap-usercontext'
value = lv_value
http_only = 'X' ).
注:SAP 门户的 Cookie 配置涉及 ICF/BSP 层,建议由 SAP Basis 或安全顾问实施。
4. 用户侧安全意识加固
- 提醒员工不要点击来源不明的企业门户链接,尤其是包含奇怪参数的 URL;
- 在邮件网关层拦截包含可疑脚本特征的链接;
- 对高权限账号(如管理员、HR、财务)启用多因素认证(MFA),即使会话 Cookie 被窃取,攻击者也难以完成登录。
六、防护加固:从边界到代码的纵深防御
1. 输入验证与输出编码
XSS 漏洞的根本解决之道在于:所有来自用户输入的数据都必须经过严格验证和转义。对于 SAP 系统来说,如果企业有自定义开发的 BSP 页面或 ICF 服务,必须确保 URL 参数在回显到 HTML 页面之前进行了 HTML 实体编码。
* 示例:对动态输出进行 HTML 编码
DATA(lv_safe) = cl_http_utility=>escape_html( lv_input ).
2. 启用内容安全策略(CSP)
在 SAP 门户前置的反向代理(如 Nginx)上设置 CSP 头,限制内联脚本和外部脚本来源:
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; frame-ancestors 'none';" always;
注意:SAP 门户依赖大量 JS 和框架,CSP 策略需要充分测试,避免误拦截正常功能。
3. 部署 WAF 虚拟补丁
对于无法立即升级 SAP 的企业,百度云防护 WAF 的虚拟补丁能力可以在网络层对已知 XSS 漏洞的利用载荷进行拦截,无需修改 SAP 系统代码。配合访问日志和攻击告警,管理员可以清晰看到是否有利用尝试。
通过主机吧购买百度云防护专业版可享 7.5 折优惠(299 元/月)。虽然 SAP 门户通常是企业内网或专线访问,但如果通过公网暴露给分支机构或远程办公用户,云 WAF 仍然是一个有效的边界防护层。
4. 定期安全审计与漏洞扫描
企业应建立 SAP 系统补丁管理流程,定期使用漏洞扫描工具(如 SAP Focused Run、Onapsis、Greenbone)检查 NetWeaver 组件的安全补丁状态。同时关注 CNVD、SAP Security Patch Day 等渠道发布的安全公告。
七、主机吧看法
SAP NetWeaver 是企业级 IT 架构的”老大哥”,很多大型企业的核心门户、ERP、BW 都跑在这套平台上。CVE-2026-44759 虽然只是一个中危 XSS,但放在企业门户这个场景下,风险被严重放大了——因为门户一旦失守,后面往往连着整个单点登录体系和一票内部应用。
这个漏洞最值得警惕的地方在于:
- 企业门户是”高价值目标”:登录门户的员工通常拥有访问 ERP、财务、人事系统的权限;
- 反射型 XSS 容易和钓鱼邮件结合:企业邮件网关对内部域名信任度较高,伪造门户链接的钓鱼邮件很容易穿过防御;
- SAP 补丁周期往往较长:大型企业升级 SAP 系统需要经过开发、测试、生产多轮验证,补丁落地周期可能以周为单位,期间系统处于”裸奔”状态。
对于中小企业来说,SAP 系统可能不是你的菜。但这件事背后有一个通用启示:任何接受 URL 参数并回显到页面的系统,都要做输入验证和输出编码。 站长们常见的 WordPress、Discuz!、ECShop、ShopEx 等系统,历史上都出过大量类似漏洞。不要只盯着 CVE 编号,而要检查自己站点所有”接受参数再输出”的页面。
如果你的站点不是自己开发的,无法从代码层面修复,那就至少做两件事:
- 保持系统和插件补丁最新;
- 在边界加一层 WAF,让已知漏洞的利用流量在到达服务器之前就被拦截。
