GitHub xử lý hai lỗ hổng nghiêm trọng trong trình quản lý gói npm

30/07/2014
79
711 bài viết
GitHub xử lý hai lỗ hổng nghiêm trọng trong trình quản lý gói npm
Các nhà bảo trì trình quản lý gói npm cho JavaScript tiết lộ nhiều lỗ hổng đã được giải quyết gần đây. Trong đó, hai lỗ hổng nghiêm trọng đã được GitHub xử lý.

npm.jpg

Lỗ hổng đầu tiên có thể bị kẻ tấn công khai thác để xuất bản các phiên bản mới của bất kỳ gói npm nào bằng tài khoản không được ủy quyền. Lỗ hổng này do Kajetan Grzybowski (DrBrix) và Maciej Piechota (haqpl) báo cáo cho GitHub thông qua chương trình bug bounty trong tháng 11.

“Chúng tôi xác định lỗ hổng này phát sinh do lỗi kiểm tra ủy quyền không nhất quán và xác thực dữ liệu trên một số dịch vụ vi mô xử lý các yêu cầu đến sổ đăng ký npm. Trong đó, dịch vụ ủy quyền đã xác thực đúng mức ủy quyền của người dùng đối với các gói dựa trên dữ liệu được chuyển trong đường dẫn URL yêu cầu. Tuy nhiên, dịch vụ thực hiện các cập nhật cơ bản cho dữ liệu đăng ký đã xác định gói nào sẽ xuất bản dựa trên nội dung của tệp gói được tải lên. Sự khác biệt này dẫn đến yêu cầu xuất bản các phiên bản mới của gói sẽ được ủy quyền cho một gói trái phép khác”, Mike Hanley, Giám đốc an ninh của GitHub cho hay.

Hãng đã giải quyết lỗ hổng trong vài giờ bằng cách đảm bảo tính nhất quán trên cả dịch vụ xuất bản và dịch vụ ủy quyền, theo cách này, một gói vừa được sử dụng cho cả ủy quyền và xuất bản.

GitHub chưa thể xác định xem lỗ hổng đã từng bị khai thác trong các cuộc tấn công hay chưa.

Lỗ hổng thứ hai, do GitHub phát hiện ngày 26/10, tồn tại do việc bảo trì định kỳ một trong các dịch vụ npm công khai.

Đây là lỗi rò rỉ dữ liệu trên server replication của npmjs. Sự cố rò rỉ làm lộ danh sách tên của các gói npm riêng tư trong thời gian bảo trì. Nội dung của các gói không được hiển thị trong cùng một khung thời gian.

“Trong quá trình bảo trì cơ sở dữ liệu cho bản sao npm công khai tại replicate.npmjs.com, các bản ghi được tạo ra có thể hiển thị tên của các gói riêng tư. Điều này cho phép người dùng replicate.npmjs.com có khả năng xác định tên của các gói riêng tư do các bản ghi được xuất bản trong nguồn cấp dữ liệu thay đổi công khai, bao gồm cả nội dung của các gói riêng tư này, có thể truy cập bất cứ lúc nào, ngoài ra không có thông tin nào khác. Tên gói ở định dạng @ owner/package cho các gói riêng tư được tạo trước ngày 20/10 được hiển thị trong khoảng thời gian từ ngày 21/10 13: 12: 10Z UTC đến ngày 29/10, 15: 51: 00Z UTC ”,
Hanley cho biết.

Lỗ hổng thứ hai đã được xử lý ngày 29/10. GitHub cũng đã xóa khỏi cơ sở dữ liệu sao chép của npm tất cả các bản ghi có chứa tên gói riêng.

GitHub đang cố gắng cải thiện chính sách an ninh của sổ đăng ký npm, có kế hoạch giới thiệu xác thực hai yếu tố (2FA) cho người bảo trì và quản trị viên của các gói phổ biến trên kho lưu trữ, tính năng mới sẽ được triển khai với danh sách các gói quan trọng trong quý đầu tiên của năm 2022.

Nguồn: Bleeping Computer
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
github nmp
Bên trên