更新: 178 个文件 - 2026-03-18 07:47:37
这个提交包含在:
@@ -5,14 +5,14 @@
|
||||
- 系统 ID: `nextjs`
|
||||
- 分类: `frameworks`
|
||||
- 覆盖策略: `history-full`
|
||||
- 总案例数: `26`
|
||||
- 总案例数: `5`
|
||||
- 近 30 天新增/更新: `5`
|
||||
- 重点 Markdown 案例数: `26`
|
||||
- 已实证(真实版本): `26`
|
||||
- 重点 Markdown 案例数: `5`
|
||||
- 已实证(真实版本): `0`
|
||||
- 已实证(synthetic): `0`
|
||||
- 阻塞数: `0`
|
||||
- 待人工/缺浏览器证据: `0`
|
||||
- 最近渲染时间: `2026-03-18T04:06:08+00:00`
|
||||
- 待人工/缺浏览器证据: `5`
|
||||
- 最近渲染时间: `2026-03-18T14:45:52+00:00`
|
||||
|
||||
## 目标约束
|
||||
|
||||
@@ -32,29 +32,8 @@
|
||||
|
||||
| 标题 | 严重度 | 案例状态 | 实证状态 | 实证方式 | 来源置信度 | 更新时间 | 案例页 |
|
||||
|------|--------|----------|----------|----------|------------|----------|--------|
|
||||
| Next.js HTTP request deserialization can lead to DoS when using insecure React Server Components | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-13T00:43:52.836085Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-ghsa-h25m-26qc-wcjf.md) |
|
||||
| Next.js has Unbounded Memory Consumption via PPR Resume Endpoint | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-06T13:13:43.709252Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-59472.md) |
|
||||
| Next.js self-hosted applications vulnerable to DoS via Image Optimizer remotePatterns configuration | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-10T01:28:46.973023Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-59471.md) |
|
||||
| Next has a Denial of Service with Server Components - Incomplete Fix Follow-Up | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T02:46:38.768104Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-ghsa-5j59-xgg2-r9c4.md) |
|
||||
| Next Server Actions Source Code Exposure | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T02:51:40.627151Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-ghsa-w37m-7fhw-fmv9.md) |
|
||||
| Next Vulnerable to Denial of Service with Server Components | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T03:55:54.855562Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-ghsa-mwv6-3258-q52c.md) |
|
||||
| Next.js is vulnerable to RCE in React flight protocol | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T03:45:15.823345Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-ghsa-9qr9-h5gf-34mp.md) |
|
||||
| Next.js Affected by Cache Key Confusion for Image Optimization API Routes | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T02:50:08.291668Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-57752.md) |
|
||||
| Next.js Content Injection Vulnerability for Image Optimization | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T04:35:34.538107Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-55173.md) |
|
||||
| Next.js Improper Middleware Redirect Handling Leads to SSRF | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T04:20:45.658010Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-57822.md) |
|
||||
| Next.JS vulnerability can lead to DoS via cache poisoning | `low` | `generated` | `verified-real` | `real` | `official` | `2025-07-03T21:49:52Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-49826.md) |
|
||||
| Next.js has a Cache poisoning vulnerability due to omission of the Vary header | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T02:37:18.974477Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-49005.md) |
|
||||
| Information exposure in Next.js dev server due to lack of origin verification | `medium` | `generated` | `verified-real` | `real` | `official` | `2025-06-13T14:41:21Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-48068.md) |
|
||||
| Next.js Race Condition to Cache Poisoning | `low` | `generated` | `verified-real` | `real` | `official` | `2025-09-26T17:48:29Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-32421.md) |
|
||||
| Next.js may leak x-middleware-subrequest-id to external hosts | `medium` | `generated` | `verified-real` | `real` | `official` | `2025-10-13T15:35:50Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-30218.md) |
|
||||
| Authorization Bypass in Next.js Middleware | `low` | `generated` | `verified-real` | `real` | `official` | `2026-03-04T15:06:29.993197Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2025-29927.md) |
|
||||
| Next.js Allows a Denial of Service (DoS) with Server Actions | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T04:36:04.252972Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2024-56332.md) |
|
||||
| Next.js authorization bypass vulnerability | `low` | `generated` | `verified-real` | `real` | `official` | `2025-09-10T21:12:24Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2024-51479.md) |
|
||||
| Denial of Service condition in Next.js image optimization | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T03:25:43.295558Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2024-47831.md) |
|
||||
| Next.js Cache Poisoning | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T03:45:33.402195Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2024-46982.md) |
|
||||
| Next.js Server-Side Request Forgery in Server Actions | `low` | `generated` | `verified-real` | `real` | `official` | `2026-02-04T03:32:36.434669Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2024-34351.md) |
|
||||
| Unexpected server crash in Next.js. | `low` | `generated` | `verified-real` | `real` | `official` | `2026-03-13T22:00:36.554552Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2021-43803.md) |
|
||||
| XSS in Image Optimization API for Next.js | `low` | `generated` | `verified-real` | `real` | `official` | `2026-03-13T22:00:20.154452Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2021-39178.md) |
|
||||
| Open Redirect in Next.js | `low` | `generated` | `verified-real` | `real` | `official` | `2026-03-13T22:00:08.038285Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2021-37699.md) |
|
||||
| Open Redirect in Next.js versions | `low` | `generated` | `verified-real` | `real` | `official` | `2026-03-13T22:14:13.665535Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2020-15242.md) |
|
||||
| Directory Traversal in Next.js | `low` | `generated` | `verified-real` | `real` | `official` | `2025-09-26T17:49:56Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2020-5284.md) |
|
||||
| Next.js: HTTP request smuggling in rewrites | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-17T16:31:26.646070Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2026-29057.md) |
|
||||
| Next.js: Unbounded next/image disk cache growth can exhaust storage | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-17T16:31:33.597080Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2026-27980.md) |
|
||||
| Next.js: Unbounded postponed resume buffering can lead to DoS | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-17T16:31:34.160932Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2026-27979.md) |
|
||||
| Next.js: null origin can bypass Server Actions CSRF checks | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-17T15:46:43.484729Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2026-27978.md) |
|
||||
| Next.js: null origin can bypass dev HMR websocket CSRF checks | `medium` | `generated` | `triage-manual` | `synthetic` | `official` | `2026-03-17T15:46:26.028580Z` | [link](/Users/x/websafe/07-framework-security/frameworks/nextjs/cases/nextjs-cve-2026-27977.md) |
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: "Next.js: null origin can bypass dev HMR websocket CSRF checks"
|
||||
system_id: "nextjs"
|
||||
category: "frameworks"
|
||||
advisory_mode: "core"
|
||||
published_date: "2026-03-17T15:29:48Z"
|
||||
updated_date: "2026-03-17T15:46:26.028580Z"
|
||||
severity: "medium"
|
||||
exploit_status: "unknown"
|
||||
source_confidence: "official"
|
||||
verification_status: "triage-manual"
|
||||
verification_mode: "synthetic"
|
||||
artifact_mode: "official-source"
|
||||
last_run_id: ""
|
||||
target_types:
|
||||
- "lab-local"
|
||||
- "lab-public"
|
||||
- "authorized-third-party"
|
||||
allow_public_validation: "yes, with ownership or explicit authorization"
|
||||
authorization_prerequisite: "asset ownership proof or explicit written authorization"
|
||||
minimal_validation: "read-only probe, controlled payload, reversible test"
|
||||
aliases:
|
||||
- "CVE-2026-27977"
|
||||
- "GHSA-jcc7-9wpm-mj36"
|
||||
affected_versions:
|
||||
- "introduced=16.0.1, fixed<16.1.7"
|
||||
fixed_versions:
|
||||
- "16.1.7"
|
||||
secure_code_topics:
|
||||
- "authz-server-side-recheck"
|
||||
- "proxy-trust-boundary"
|
||||
- "token-cookie-storage"
|
||||
primary_source: "https://github.com/vercel/next.js/security/advisories/GHSA-jcc7-9wpm-mj36"
|
||||
---
|
||||
|
||||
# Next.js: null origin can bypass dev HMR websocket CSRF checks
|
||||
|
||||
## 本地实证状态
|
||||
|
||||
- 实证状态: `triage-manual`
|
||||
- 实证方式: `synthetic`
|
||||
- Artifact 模式: `official-source`
|
||||
- 最近运行: `-`
|
||||
- 浏览器证据: `missing`
|
||||
- Run Bundle: `-`
|
||||
|
||||
## 事件层
|
||||
|
||||
- Canonical ID: `nextjs--CVE-2026-27977`
|
||||
- 系统: `nextjs`
|
||||
- 严重度: `medium`
|
||||
- 来源置信度: `official`
|
||||
- 官方主源: https://github.com/vercel/next.js/security/advisories/GHSA-jcc7-9wpm-mj36
|
||||
- 影响版本: `introduced=16.0.1, fixed<16.1.7`
|
||||
- 修复版本: `16.1.7`
|
||||
|
||||
## 其他来源
|
||||
|
||||
- https://github.com/vercel/next.js/commit/862f9b9bb41d235e0d8cf44aa811e7fd118cee2a
|
||||
- https://github.com/vercel/next.js
|
||||
- https://github.com/vercel/next.js/releases/tag/v16.1.7
|
||||
|
||||
## 实验层
|
||||
|
||||
- 仅用于自有资产、测试环境或已明确授权目标。
|
||||
- 允许公网可达目标,但必须满足资产归属或明确授权前提。
|
||||
- 最小化验证方式: 最小化验证、只读探测、可审计回显、受控注入。
|
||||
- 若该案例涉及插件、模块或扩展,应同时检查供应链与升级策略。
|
||||
- 禁止场景: 无归属证明或无明确授权的公网目标;知名公共网站或与测试无关的第三方资产;会造成持久破坏、数据越权下载或不可回滚影响的动作
|
||||
|
||||
## 修复示例
|
||||
|
||||
- [javascript-typescript:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/javascript-typescript/authz-server-side-recheck.md)
|
||||
- [nodejs:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/nodejs/authz-server-side-recheck.md)
|
||||
- [java:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/java/authz-server-side-recheck.md)
|
||||
- [php:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/php/authz-server-side-recheck.md)
|
||||
- [python:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/python/authz-server-side-recheck.md)
|
||||
- [ruby:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/ruby/authz-server-side-recheck.md)
|
||||
- [csharp:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/csharp/authz-server-side-recheck.md)
|
||||
- [go:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/go/authz-server-side-recheck.md)
|
||||
- [javascript-typescript:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/proxy-trust-boundary.md)
|
||||
- [nodejs:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/proxy-trust-boundary.md)
|
||||
- [java:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/java/proxy-trust-boundary.md)
|
||||
- [php:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/php/proxy-trust-boundary.md)
|
||||
- [python:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/python/proxy-trust-boundary.md)
|
||||
- [ruby:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/ruby/proxy-trust-boundary.md)
|
||||
- [csharp:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/csharp/proxy-trust-boundary.md)
|
||||
- [go:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/go/proxy-trust-boundary.md)
|
||||
- [javascript-typescript:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/javascript-typescript/token-cookie-storage.md)
|
||||
- [nodejs:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/nodejs/token-cookie-storage.md)
|
||||
- [java:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/java/token-cookie-storage.md)
|
||||
- [php:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/php/token-cookie-storage.md)
|
||||
- [python:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/python/token-cookie-storage.md)
|
||||
- [ruby:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/ruby/token-cookie-storage.md)
|
||||
- [csharp:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/csharp/token-cookie-storage.md)
|
||||
- [go:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/go/token-cookie-storage.md)
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: "Next.js: null origin can bypass Server Actions CSRF checks"
|
||||
system_id: "nextjs"
|
||||
category: "frameworks"
|
||||
advisory_mode: "core"
|
||||
published_date: "2026-03-17T15:30:14Z"
|
||||
updated_date: "2026-03-17T15:46:43.484729Z"
|
||||
severity: "medium"
|
||||
exploit_status: "unknown"
|
||||
source_confidence: "official"
|
||||
verification_status: "triage-manual"
|
||||
verification_mode: "synthetic"
|
||||
artifact_mode: "official-source"
|
||||
last_run_id: ""
|
||||
target_types:
|
||||
- "lab-local"
|
||||
- "lab-public"
|
||||
- "authorized-third-party"
|
||||
allow_public_validation: "yes, with ownership or explicit authorization"
|
||||
authorization_prerequisite: "asset ownership proof or explicit written authorization"
|
||||
minimal_validation: "read-only probe, controlled payload, reversible test"
|
||||
aliases:
|
||||
- "CVE-2026-27978"
|
||||
- "GHSA-mq59-m269-xvcx"
|
||||
affected_versions:
|
||||
- "introduced=16.0.1, fixed<16.1.7"
|
||||
fixed_versions:
|
||||
- "16.1.7"
|
||||
secure_code_topics:
|
||||
- "authz-server-side-recheck"
|
||||
- "proxy-trust-boundary"
|
||||
- "token-cookie-storage"
|
||||
primary_source: "https://github.com/vercel/next.js/security/advisories/GHSA-mq59-m269-xvcx"
|
||||
---
|
||||
|
||||
# Next.js: null origin can bypass Server Actions CSRF checks
|
||||
|
||||
## 本地实证状态
|
||||
|
||||
- 实证状态: `triage-manual`
|
||||
- 实证方式: `synthetic`
|
||||
- Artifact 模式: `official-source`
|
||||
- 最近运行: `-`
|
||||
- 浏览器证据: `missing`
|
||||
- Run Bundle: `-`
|
||||
|
||||
## 事件层
|
||||
|
||||
- Canonical ID: `nextjs--CVE-2026-27978`
|
||||
- 系统: `nextjs`
|
||||
- 严重度: `medium`
|
||||
- 来源置信度: `official`
|
||||
- 官方主源: https://github.com/vercel/next.js/security/advisories/GHSA-mq59-m269-xvcx
|
||||
- 影响版本: `introduced=16.0.1, fixed<16.1.7`
|
||||
- 修复版本: `16.1.7`
|
||||
|
||||
## 其他来源
|
||||
|
||||
- https://github.com/vercel/next.js/commit/a27a11d78e748a8c7ccfd14b7759ad2b9bf097d8
|
||||
- https://github.com/vercel/next.js
|
||||
- https://github.com/vercel/next.js/releases/tag/v16.1.7
|
||||
|
||||
## 实验层
|
||||
|
||||
- 仅用于自有资产、测试环境或已明确授权目标。
|
||||
- 允许公网可达目标,但必须满足资产归属或明确授权前提。
|
||||
- 最小化验证方式: 最小化验证、只读探测、可审计回显、受控注入。
|
||||
- 若该案例涉及插件、模块或扩展,应同时检查供应链与升级策略。
|
||||
- 禁止场景: 无归属证明或无明确授权的公网目标;知名公共网站或与测试无关的第三方资产;会造成持久破坏、数据越权下载或不可回滚影响的动作
|
||||
|
||||
## 修复示例
|
||||
|
||||
- [javascript-typescript:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/javascript-typescript/authz-server-side-recheck.md)
|
||||
- [nodejs:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/nodejs/authz-server-side-recheck.md)
|
||||
- [java:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/java/authz-server-side-recheck.md)
|
||||
- [php:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/php/authz-server-side-recheck.md)
|
||||
- [python:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/python/authz-server-side-recheck.md)
|
||||
- [ruby:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/ruby/authz-server-side-recheck.md)
|
||||
- [csharp:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/csharp/authz-server-side-recheck.md)
|
||||
- [go:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/go/authz-server-side-recheck.md)
|
||||
- [javascript-typescript:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/proxy-trust-boundary.md)
|
||||
- [nodejs:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/proxy-trust-boundary.md)
|
||||
- [java:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/java/proxy-trust-boundary.md)
|
||||
- [php:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/php/proxy-trust-boundary.md)
|
||||
- [python:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/python/proxy-trust-boundary.md)
|
||||
- [ruby:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/ruby/proxy-trust-boundary.md)
|
||||
- [csharp:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/csharp/proxy-trust-boundary.md)
|
||||
- [go:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/go/proxy-trust-boundary.md)
|
||||
- [javascript-typescript:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/javascript-typescript/token-cookie-storage.md)
|
||||
- [nodejs:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/nodejs/token-cookie-storage.md)
|
||||
- [java:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/java/token-cookie-storage.md)
|
||||
- [php:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/php/token-cookie-storage.md)
|
||||
- [python:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/python/token-cookie-storage.md)
|
||||
- [ruby:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/ruby/token-cookie-storage.md)
|
||||
- [csharp:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/csharp/token-cookie-storage.md)
|
||||
- [go:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/go/token-cookie-storage.md)
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: "Next.js: Unbounded postponed resume buffering can lead to DoS"
|
||||
system_id: "nextjs"
|
||||
category: "frameworks"
|
||||
advisory_mode: "core"
|
||||
published_date: "2026-03-17T16:16:49Z"
|
||||
updated_date: "2026-03-17T16:31:34.160932Z"
|
||||
severity: "medium"
|
||||
exploit_status: "unknown"
|
||||
source_confidence: "official"
|
||||
verification_status: "triage-manual"
|
||||
verification_mode: "synthetic"
|
||||
artifact_mode: "official-source"
|
||||
last_run_id: ""
|
||||
target_types:
|
||||
- "lab-local"
|
||||
- "lab-public"
|
||||
- "authorized-third-party"
|
||||
allow_public_validation: "yes, with ownership or explicit authorization"
|
||||
authorization_prerequisite: "asset ownership proof or explicit written authorization"
|
||||
minimal_validation: "read-only probe, controlled payload, reversible test"
|
||||
aliases:
|
||||
- "CVE-2026-27979"
|
||||
- "GHSA-h27x-g6w4-24gq"
|
||||
affected_versions:
|
||||
- "introduced=16.0.1, fixed<16.1.7"
|
||||
fixed_versions:
|
||||
- "16.1.7"
|
||||
secure_code_topics:
|
||||
- "authz-server-side-recheck"
|
||||
- "proxy-trust-boundary"
|
||||
- "token-cookie-storage"
|
||||
primary_source: "https://github.com/vercel/next.js/security/advisories/GHSA-h27x-g6w4-24gq"
|
||||
---
|
||||
|
||||
# Next.js: Unbounded postponed resume buffering can lead to DoS
|
||||
|
||||
## 本地实证状态
|
||||
|
||||
- 实证状态: `triage-manual`
|
||||
- 实证方式: `synthetic`
|
||||
- Artifact 模式: `official-source`
|
||||
- 最近运行: `-`
|
||||
- 浏览器证据: `missing`
|
||||
- Run Bundle: `-`
|
||||
|
||||
## 事件层
|
||||
|
||||
- Canonical ID: `nextjs--CVE-2026-27979`
|
||||
- 系统: `nextjs`
|
||||
- 严重度: `medium`
|
||||
- 来源置信度: `official`
|
||||
- 官方主源: https://github.com/vercel/next.js/security/advisories/GHSA-h27x-g6w4-24gq
|
||||
- 影响版本: `introduced=16.0.1, fixed<16.1.7`
|
||||
- 修复版本: `16.1.7`
|
||||
|
||||
## 其他来源
|
||||
|
||||
- https://github.com/vercel/next.js/commit/c885d4825f800dd1e49ead37274dcd08cdd6f3f1
|
||||
- https://github.com/vercel/next.js
|
||||
- https://github.com/vercel/next.js/releases/tag/v16.1.7
|
||||
|
||||
## 实验层
|
||||
|
||||
- 仅用于自有资产、测试环境或已明确授权目标。
|
||||
- 允许公网可达目标,但必须满足资产归属或明确授权前提。
|
||||
- 最小化验证方式: 最小化验证、只读探测、可审计回显、受控注入。
|
||||
- 若该案例涉及插件、模块或扩展,应同时检查供应链与升级策略。
|
||||
- 禁止场景: 无归属证明或无明确授权的公网目标;知名公共网站或与测试无关的第三方资产;会造成持久破坏、数据越权下载或不可回滚影响的动作
|
||||
|
||||
## 修复示例
|
||||
|
||||
- [javascript-typescript:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/javascript-typescript/authz-server-side-recheck.md)
|
||||
- [nodejs:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/nodejs/authz-server-side-recheck.md)
|
||||
- [java:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/java/authz-server-side-recheck.md)
|
||||
- [php:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/php/authz-server-side-recheck.md)
|
||||
- [python:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/python/authz-server-side-recheck.md)
|
||||
- [ruby:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/ruby/authz-server-side-recheck.md)
|
||||
- [csharp:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/csharp/authz-server-side-recheck.md)
|
||||
- [go:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/go/authz-server-side-recheck.md)
|
||||
- [javascript-typescript:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/proxy-trust-boundary.md)
|
||||
- [nodejs:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/proxy-trust-boundary.md)
|
||||
- [java:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/java/proxy-trust-boundary.md)
|
||||
- [php:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/php/proxy-trust-boundary.md)
|
||||
- [python:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/python/proxy-trust-boundary.md)
|
||||
- [ruby:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/ruby/proxy-trust-boundary.md)
|
||||
- [csharp:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/csharp/proxy-trust-boundary.md)
|
||||
- [go:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/go/proxy-trust-boundary.md)
|
||||
- [javascript-typescript:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/javascript-typescript/token-cookie-storage.md)
|
||||
- [nodejs:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/nodejs/token-cookie-storage.md)
|
||||
- [java:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/java/token-cookie-storage.md)
|
||||
- [php:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/php/token-cookie-storage.md)
|
||||
- [python:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/python/token-cookie-storage.md)
|
||||
- [ruby:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/ruby/token-cookie-storage.md)
|
||||
- [csharp:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/csharp/token-cookie-storage.md)
|
||||
- [go:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/go/token-cookie-storage.md)
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: "Next.js: Unbounded next/image disk cache growth can exhaust storage"
|
||||
system_id: "nextjs"
|
||||
category: "frameworks"
|
||||
advisory_mode: "core"
|
||||
published_date: "2026-03-17T16:17:06Z"
|
||||
updated_date: "2026-03-17T16:31:33.597080Z"
|
||||
severity: "medium"
|
||||
exploit_status: "unknown"
|
||||
source_confidence: "official"
|
||||
verification_status: "triage-manual"
|
||||
verification_mode: "synthetic"
|
||||
artifact_mode: "official-source"
|
||||
last_run_id: ""
|
||||
target_types:
|
||||
- "lab-local"
|
||||
- "lab-public"
|
||||
- "authorized-third-party"
|
||||
allow_public_validation: "yes, with ownership or explicit authorization"
|
||||
authorization_prerequisite: "asset ownership proof or explicit written authorization"
|
||||
minimal_validation: "read-only probe, controlled payload, reversible test"
|
||||
aliases:
|
||||
- "CVE-2026-27980"
|
||||
- "GHSA-3x4c-7xq6-9pq8"
|
||||
affected_versions:
|
||||
- "introduced=10.0.0, fixed<16.1.7"
|
||||
fixed_versions:
|
||||
- "16.1.7"
|
||||
secure_code_topics:
|
||||
- "authz-server-side-recheck"
|
||||
- "proxy-trust-boundary"
|
||||
- "token-cookie-storage"
|
||||
primary_source: "https://github.com/vercel/next.js/security/advisories/GHSA-3x4c-7xq6-9pq8"
|
||||
---
|
||||
|
||||
# Next.js: Unbounded next/image disk cache growth can exhaust storage
|
||||
|
||||
## 本地实证状态
|
||||
|
||||
- 实证状态: `triage-manual`
|
||||
- 实证方式: `synthetic`
|
||||
- Artifact 模式: `official-source`
|
||||
- 最近运行: `-`
|
||||
- 浏览器证据: `missing`
|
||||
- Run Bundle: `-`
|
||||
|
||||
## 事件层
|
||||
|
||||
- Canonical ID: `nextjs--CVE-2026-27980`
|
||||
- 系统: `nextjs`
|
||||
- 严重度: `medium`
|
||||
- 来源置信度: `official`
|
||||
- 官方主源: https://github.com/vercel/next.js/security/advisories/GHSA-3x4c-7xq6-9pq8
|
||||
- 影响版本: `introduced=10.0.0, fixed<16.1.7`
|
||||
- 修复版本: `16.1.7`
|
||||
|
||||
## 其他来源
|
||||
|
||||
- https://github.com/vercel/next.js/commit/39eb8e0ac498b48855a0430fbf4c22276a73b4bd
|
||||
- https://github.com/vercel/next.js
|
||||
- https://github.com/vercel/next.js/releases/tag/v16.1.7
|
||||
|
||||
## 实验层
|
||||
|
||||
- 仅用于自有资产、测试环境或已明确授权目标。
|
||||
- 允许公网可达目标,但必须满足资产归属或明确授权前提。
|
||||
- 最小化验证方式: 最小化验证、只读探测、可审计回显、受控注入。
|
||||
- 若该案例涉及插件、模块或扩展,应同时检查供应链与升级策略。
|
||||
- 禁止场景: 无归属证明或无明确授权的公网目标;知名公共网站或与测试无关的第三方资产;会造成持久破坏、数据越权下载或不可回滚影响的动作
|
||||
|
||||
## 修复示例
|
||||
|
||||
- [javascript-typescript:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/javascript-typescript/authz-server-side-recheck.md)
|
||||
- [nodejs:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/nodejs/authz-server-side-recheck.md)
|
||||
- [java:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/java/authz-server-side-recheck.md)
|
||||
- [php:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/php/authz-server-side-recheck.md)
|
||||
- [python:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/python/authz-server-side-recheck.md)
|
||||
- [ruby:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/ruby/authz-server-side-recheck.md)
|
||||
- [csharp:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/csharp/authz-server-side-recheck.md)
|
||||
- [go:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/go/authz-server-side-recheck.md)
|
||||
- [javascript-typescript:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/proxy-trust-boundary.md)
|
||||
- [nodejs:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/proxy-trust-boundary.md)
|
||||
- [java:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/java/proxy-trust-boundary.md)
|
||||
- [php:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/php/proxy-trust-boundary.md)
|
||||
- [python:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/python/proxy-trust-boundary.md)
|
||||
- [ruby:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/ruby/proxy-trust-boundary.md)
|
||||
- [csharp:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/csharp/proxy-trust-boundary.md)
|
||||
- [go:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/go/proxy-trust-boundary.md)
|
||||
- [javascript-typescript:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/javascript-typescript/token-cookie-storage.md)
|
||||
- [nodejs:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/nodejs/token-cookie-storage.md)
|
||||
- [java:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/java/token-cookie-storage.md)
|
||||
- [php:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/php/token-cookie-storage.md)
|
||||
- [python:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/python/token-cookie-storage.md)
|
||||
- [ruby:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/ruby/token-cookie-storage.md)
|
||||
- [csharp:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/csharp/token-cookie-storage.md)
|
||||
- [go:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/go/token-cookie-storage.md)
|
||||
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Next.js: HTTP request smuggling in rewrites"
|
||||
system_id: "nextjs"
|
||||
category: "frameworks"
|
||||
advisory_mode: "core"
|
||||
published_date: "2026-03-17T16:17:15Z"
|
||||
updated_date: "2026-03-17T16:31:26.646070Z"
|
||||
severity: "medium"
|
||||
exploit_status: "unknown"
|
||||
source_confidence: "official"
|
||||
verification_status: "triage-manual"
|
||||
verification_mode: "synthetic"
|
||||
artifact_mode: "official-source"
|
||||
last_run_id: ""
|
||||
target_types:
|
||||
- "lab-local"
|
||||
- "lab-public"
|
||||
- "authorized-third-party"
|
||||
allow_public_validation: "yes, with ownership or explicit authorization"
|
||||
authorization_prerequisite: "asset ownership proof or explicit written authorization"
|
||||
minimal_validation: "read-only probe, controlled payload, reversible test"
|
||||
aliases:
|
||||
- "CVE-2026-29057"
|
||||
- "GHSA-ggv3-7p47-pfv8"
|
||||
affected_versions:
|
||||
- "introduced=16.0.0-beta.0, fixed<16.1.7"
|
||||
- "introduced=9.5.0, fixed<15.5.13"
|
||||
fixed_versions:
|
||||
- "16.1.7"
|
||||
- "15.5.13"
|
||||
secure_code_topics:
|
||||
- "authz-server-side-recheck"
|
||||
- "proxy-trust-boundary"
|
||||
- "token-cookie-storage"
|
||||
- "request-smuggling-boundary"
|
||||
- "dependency-upgrade-policy"
|
||||
primary_source: "https://github.com/vercel/next.js/security/advisories/GHSA-ggv3-7p47-pfv8"
|
||||
---
|
||||
|
||||
# Next.js: HTTP request smuggling in rewrites
|
||||
|
||||
## 本地实证状态
|
||||
|
||||
- 实证状态: `triage-manual`
|
||||
- 实证方式: `synthetic`
|
||||
- Artifact 模式: `official-source`
|
||||
- 最近运行: `-`
|
||||
- 浏览器证据: `missing`
|
||||
- Run Bundle: `-`
|
||||
|
||||
## 事件层
|
||||
|
||||
- Canonical ID: `nextjs--CVE-2026-29057`
|
||||
- 系统: `nextjs`
|
||||
- 严重度: `medium`
|
||||
- 来源置信度: `official`
|
||||
- 官方主源: https://github.com/vercel/next.js/security/advisories/GHSA-ggv3-7p47-pfv8
|
||||
- 影响版本: `introduced=16.0.0-beta.0, fixed<16.1.7, introduced=9.5.0, fixed<15.5.13`
|
||||
- 修复版本: `16.1.7, 15.5.13`
|
||||
|
||||
## 其他来源
|
||||
|
||||
- https://github.com/vercel/next.js/commit/dc98c04f376c6a1df76ec3e0a2d07edf4abdabd6
|
||||
- https://github.com/vercel/next.js
|
||||
- https://github.com/vercel/next.js/releases/tag/v15.5.13
|
||||
- https://github.com/vercel/next.js/releases/tag/v16.1.7
|
||||
|
||||
## 实验层
|
||||
|
||||
- 仅用于自有资产、测试环境或已明确授权目标。
|
||||
- 允许公网可达目标,但必须满足资产归属或明确授权前提。
|
||||
- 最小化验证方式: 最小化验证、只读探测、可审计回显、受控注入。
|
||||
- 若该案例涉及插件、模块或扩展,应同时检查供应链与升级策略。
|
||||
- 禁止场景: 无归属证明或无明确授权的公网目标;知名公共网站或与测试无关的第三方资产;会造成持久破坏、数据越权下载或不可回滚影响的动作
|
||||
|
||||
## 修复示例
|
||||
|
||||
- [javascript-typescript:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/javascript-typescript/authz-server-side-recheck.md)
|
||||
- [nodejs:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/nodejs/authz-server-side-recheck.md)
|
||||
- [java:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/java/authz-server-side-recheck.md)
|
||||
- [php:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/php/authz-server-side-recheck.md)
|
||||
- [python:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/python/authz-server-side-recheck.md)
|
||||
- [ruby:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/ruby/authz-server-side-recheck.md)
|
||||
- [csharp:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/csharp/authz-server-side-recheck.md)
|
||||
- [go:authz-server-side-recheck](/Users/x/websafe/05-defense/secure-code/go/authz-server-side-recheck.md)
|
||||
- [javascript-typescript:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/proxy-trust-boundary.md)
|
||||
- [nodejs:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/proxy-trust-boundary.md)
|
||||
- [java:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/java/proxy-trust-boundary.md)
|
||||
- [php:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/php/proxy-trust-boundary.md)
|
||||
- [python:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/python/proxy-trust-boundary.md)
|
||||
- [ruby:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/ruby/proxy-trust-boundary.md)
|
||||
- [csharp:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/csharp/proxy-trust-boundary.md)
|
||||
- [go:proxy-trust-boundary](/Users/x/websafe/05-defense/secure-code/go/proxy-trust-boundary.md)
|
||||
- [javascript-typescript:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/javascript-typescript/token-cookie-storage.md)
|
||||
- [nodejs:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/nodejs/token-cookie-storage.md)
|
||||
- [java:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/java/token-cookie-storage.md)
|
||||
- [php:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/php/token-cookie-storage.md)
|
||||
- [python:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/python/token-cookie-storage.md)
|
||||
- [ruby:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/ruby/token-cookie-storage.md)
|
||||
- [csharp:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/csharp/token-cookie-storage.md)
|
||||
- [go:token-cookie-storage](/Users/x/websafe/05-defense/secure-code/go/token-cookie-storage.md)
|
||||
- [javascript-typescript:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/javascript-typescript/request-smuggling-boundary.md)
|
||||
- [nodejs:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/nodejs/request-smuggling-boundary.md)
|
||||
- [java:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/java/request-smuggling-boundary.md)
|
||||
- [php:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/php/request-smuggling-boundary.md)
|
||||
- [python:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/python/request-smuggling-boundary.md)
|
||||
- [ruby:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/ruby/request-smuggling-boundary.md)
|
||||
- [csharp:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/csharp/request-smuggling-boundary.md)
|
||||
- [go:request-smuggling-boundary](/Users/x/websafe/05-defense/secure-code/go/request-smuggling-boundary.md)
|
||||
- [javascript-typescript:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/javascript-typescript/dependency-upgrade-policy.md)
|
||||
- [nodejs:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/nodejs/dependency-upgrade-policy.md)
|
||||
- [java:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/java/dependency-upgrade-policy.md)
|
||||
- [php:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/php/dependency-upgrade-policy.md)
|
||||
- [python:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/python/dependency-upgrade-policy.md)
|
||||
- [ruby:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/ruby/dependency-upgrade-policy.md)
|
||||
- [csharp:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/csharp/dependency-upgrade-policy.md)
|
||||
- [go:dependency-upgrade-policy](/Users/x/websafe/05-defense/secure-code/go/dependency-upgrade-policy.md)
|
||||
在新工单中引用
屏蔽一个用户