Hardening for DiagnosticPort

Đang mở
#5,563 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

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
45/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Lĩnh vực
security, tooling

Hướng nghiên cứu

Bắt đầu bằng cách lần theo cách các công cụ chẩn đoán và runtime chọn vị trí socket DiagnosticPort, cũng như cách RUNTIME_DIR, XDG_RUNTIME_DIR, TMPDIR và /tmp được xử lý. Xem lại trình tự tương thích được mô tả trong issue: các công cụ phải kiểm tra những vị trí mới trước khi runtime sử dụng chúng. Được xem là hoàn tất khi các thư mục ưu tiên có thể ghi bởi người dùng được hỗ trợ khi được thiết lập, đồng thời vẫn giữ nguyên các fallback hiện có.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

The current security model for diagnostic port acknowledges that a malicious process could create its own unix domain socket or squat on the file name that would be used by some other process whenever /tmp or TMPDIR is shared with untrusted users. Although we aren't planning to change those basic assumptions in the security model, we could still take steps to make the squating less likely by using directories that are only writable by the current user when possible such as RUNTIME_DIR and XDG_RUNTIME_DIR.

We should consider adding support for writing the port under those directories if the environment variables are set, then falling back to TMPDIR and /tmp otherwise. If we do this we need to be wary of back-compat by updating the tools first to check those locations, then update the runtime later once the tools have had time to be picked up by users.

Ngôn ngữ chính
C++
Star
1.3k
Fork
407
Merge trung bình
21 giờ 5 phút
Pull request đã merge (30 ngày)
78

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

  • Không có Dockerfile hay tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dotnet/diagnostics

Tất cả issue của dotnet/diagnostics

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.