Triage the braces stack-exhaustion advisory and set the dismissal bar
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- documentation, security
Hướng nghiên cứu
Bắt đầu bằng cách xem lại các cảnh báo Dependabot cho [email protected], vấn đề lockfile trùng lặp được theo dõi trong #337 và chính sách hiện tại trong TRIAGE.md. Xác minh rằng các glob của kho lưu trữ chỉ nhận các đường dẫn do maintainer kiểm soát, sau đó ghi lại quyết định xử lý cảnh báo và điều kiện mở lại cảnh báo trong TRIAGE.md, đồng thời ghi lại ai có thể bỏ qua cảnh báo và các mã lý do được chấp nhận. Hoàn thành có nghĩa là các cảnh báo về lockfile trùng lặp đã được đóng, cảnh báo 259 đã được ghi nhận là bỏ qua hoặc có biện pháp giảm thiểu và các yêu cầu bỏ qua cảnh báo đã được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem statement
Three high-severity Dependabot alerts are open, and none of them has a fix available.
| Alert | Package | Advisory | Manifest | Vulnerable range | First patched |
|---|---|---|---|---|---|
| 259 | braces | CVE-2026-93687 / GHSA-vfj7-8cjw-p6xm | website/package-lock.json | <= 3.0.3 |
none |
| 260 | braces | CVE-2026-93687 / GHSA-vfj7-8cjw-p6xm | website/yarn.lock | <= 3.0.3 |
none |
| 261 | node-forge | CVE-2026-85393 / GHSA-86w9-cpqp-85rv | website/yarn.lock | <= 1.4.0 |
none |
This is one real finding and two duplicates. Alerts 260 and 261 point at website/yarn.lock, a lockfile CI never installs from, and both disappear once the duplicate lockfile is removed. That work is tracked in #337; until it lands, the Security tab shows 3 where the codebase has 1.
The remaining finding is [email protected], pulled in by @docusaurus/core through @docusaurus/utils → [email protected] and [email protected]. It is a stack-exhaustion denial of service triggered by a deeply nested brace pattern. In this repo the patterns come from Docusaurus's own file walk over maintainer-controlled paths, not from contributor or visitor input, and it runs at build time.
With no patched version published, the only options are to dismiss with a recorded reason or to leave the tab permanently red.
Proposed solution
- Land the lockfile consolidation first, which closes 260 and 261.
- Dismiss 259 as tolerable risk, with a comment that records why (build-time glob over maintainer-controlled paths) and what reopens it (a patched braces release). Verify first that nothing in the repo feeds user or contributor input into a glob; if something does, this reasoning is wrong and the finding needs a real mitigation.
- Add a short "Security alerts and dismissal" section to
TRIAGE.md: who may dismiss, which reason codes are acceptable, and that a dismissal requires a comment naming the condition that reopens it.
Scope and impact
No code change beyond documentation. The risk to avoid is a silent dismissal, which is indistinguishable from silencing an alert; the comment requirement is the point of the exercise.
Acceptance criteria:
- Alerts 260 and 261 are closed by the lockfile work
- Alert 259 is either dismissed with a recorded reason or has a documented mitigation
-
TRIAGE.mdstates the dismissal bar
- Ngôn ngữ chính
- TypeScript
- Star
- 13
- Fork
- 23
- Merge trung bình
- 2 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 17
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của IntersectMBO/developer-experience
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
IntersectMBO/developer-experience#363 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
IntersectMBO/developer-experience#362 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
IntersectMBO/developer-experience#360 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Verify session: UI and Smart Contract Interaction (Q2 2026, 16-ui-smart-contract-interaction)Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 92/100
IntersectMBO/developer-experience#359 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Verify session: dApp Architecture from Wallet to Backend (Q2 2026, 15-dapp-architecture-demo)Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
IntersectMBO/developer-experience#358 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của IntersectMBO/developer-experience
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Renaming a projectĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
equinor/prisma-decision-web#927 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
bigbluebutton/bigbluebutton#26166 ·
Maintainer thường phản hồi trong vòng 1 ngày