非 php.net · 非 NVD · 非 CISA

PHP 漏洞追踪

关于 PHP 安全漏洞的非官方简报

English简体中文日本語DeutschFrançaisNederlandsEspañol

安全警报

PHP2Shell:请升级 PHP。这是唯一完整的修复。

CVE-2026-109618 与 CVE-2026-109619 是 PHP 本体中的严重漏洞,未经身份验证即可远程执行代码。PHP 项目已于 2026 年 10 月 21 日为仍受支持的 8.2 至 8.5 分支发布修复。升级后必须重启 PHP。防火墙不能替代升级。

修复步骤

PHP 安全科普 · 防御向

PHP 中的 SSRF:是什么,怎么修

链接预览、Webhook、图片抓取、PDF 生成等功能都会让服务器去请求一个 URL。如果这个 URL 由访客控制,他们就能让你的服务器去访问他们自己够不着的地方。

最近更新

这是什么

服务器通常位于受信任的网络内部。它发出的请求能访问数据库、管理后台、其他微服务,以及会发放凭证的云实例元数据服务。SSRF 把任何“抓取 URL”功能都变成通往内网的代理。MITRE 把它归为 CWE-918,OWASP 有专门的防范速查表。

怎么发现

怎么修

只读检查与安全写法

# Find server-side fetches that may take a user-supplied URL (read-only)
grep -rnE "(curl_setopt.*CURLOPT_URL|file_get_contents\s*\(\s*\$|fopen\s*\(\s*\$)" --include=*.php . | grep -v /vendor/

// Allowlist hosts and schemes before fetching
$u = parse_url($url);
$allowed = ['api.example.com'];
if (($u['scheme'] ?? '') !== 'https' || !in_array($u['host'] ?? '', $allowed, true)) {
    throw new RuntimeException('URL not allowed');
}
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

屏蔽 127.0.0.1 就够了吗?

不够。其他 IP 写法、IPv6、解析到私有地址的域名和重定向都能绕过简单黑名单,OWASP 建议用白名单。

WAF 能挡住 SSRF 吗?

能拦一部分模式,但它不知道哪些内网主机对你重要,还是要在代码里修。

其他常见 PHP 漏洞类型

来源

出站链接将离开本站。本站不托管利用代码。

  1. CWE-918: Server-Side Request Forgery (SSRF) — MITRE CWE
  2. Server-Side Request Forgery Prevention Cheat Sheet — OWASP Cheat Sheet Series