RERUM Can Be Attacked By Trees
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- javascript
Hướng nghiên cứu
Bắt đầu bằng cách xác định phần triển khai getAllVersions và đường dẫn truy vấn phiên bản nội bộ, sau đó so sánh hành vi của chúng với cách tiếp cận phân trang /query được mô tả trong issue. Triển khai app và kiểm thử các đối tượng có 100 và hơn 1000 phiên bản; được xem là hoàn tất khi các phản hồi được giới hạn ở 100, các cursor lấy được những phiên bản còn lại và các đối tượng có nhiều phiên bản không còn làm cạn kiệt bộ nhớ pm2.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
getAllVersions loads unbounded data into memory. We were able to perform a successful History Tree Attack using an object that has 100 versions in history. Deeply versioned objects (1000+) can cause pm2 threads to run out of memory.
Recommendation: Add pagination to version queries. Limit default response to 100 versions with cursor-based pagination. This is how using /query for large data responses is handled by clients when they query for data. The technique can be used internally too.
Ensure the change is functional by testing it yourself and ensuring it solves the attack vector. Human developers can deploy the app and manually test the code you propose.
- Ngôn ngữ chính
- JavaScript
- Star
- 3
- Fork
- 6
- Merge trung bình
- 4 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
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 CenterForDigitalHumanities/rerum_server_nodejs
-
bug documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
backend dependencies easy
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
CenterForDigitalHumanities/rerum_server_nodejs#290 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 50/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 74/100
Tất cả issue của CenterForDigitalHumanities/rerum_server_nodejs
Issue tương tự
-
bug CI breakage triage needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
oppia/oppia#27517 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
draftomen enhancement size: S
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
andreagrandi/draftomen#761 ·
-
Remove the stale .eslintignoreĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
HarperFast/harper#2866 ·
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 84/100
HarperFast/harper-pro#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 88/100
anthropics/skills#1897 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày