BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Blog Ethereum: Geth phát hành phiên bản sửa lỗi mới nhất

Đọc bài viết này mất 12 phút
Vui lòng nâng cấp nút lên Geth v1.9.24 ngay lập tức hoặc sử dụng Go 1.15.5 trở lên.
Tiêu đề gốc: "GETH phát hành phiên bản sửa chữa mới nhất"
Nguồn gốc: Trang web Ethereum Trung Quốc


Tóm tắt


Các phiên bản geth được xây dựng bằng Go<1.15.5 hoặc <1.14.12 có thể bị ảnh hưởng bởi lỗ hổng bảo mật nghiêm trọng (DoS). Nhóm Golang đã đăng ký lỗ hổng này là “CVE-2020-28362”.


Chúng tôi khuyên tất cả người dùng nên sử dụng Go 1.15.5 hoặc 1.14.12 để xây dựng lại máy khách (tốt nhất là phiên bản v1.9.24) để tránh sự cố nút. Ngoài ra, nếu bạn đang chạy chương trình chính thức, chúng tôi đã phát hành Geth v1.9.24 dựa trên Go 1.15.5. (Bản phát hành: https://github.com/ethereum/go-ethereum/releases/tag /v1.9.24)


Hình ảnh Docker rất có thể đã lỗi thời do thiếu hình ảnh cơ sở, bạn có thể kiểm tra tại đây để biết hướng dẫn tạm thời xây dựng hình ảnh bằng Go1.15.5. Vui lòng chạy phiên bản geth để xác minh xem chương trình của bạn đang sử dụng phiên bản Go nào.


Nền tảng


Đầu tháng 10, go-ethereum đã gia nhập Dự án OSS-Fuzz. Chúng tôi đã thực hiện thử nghiệm fuzz trên cơ sở đặc biệt và thử nghiệm trên một số nền tảng khác nhau.


Vào ngày 24 tháng 10, một sự cố đã được phát hiện ở một trong những công cụ kiểm tra.


Sau khi điều tra, người ta phát hiện ra rằng nguyên nhân cốt lõi của vấn đề là do lỗ hổng trong thư viện chuẩn Go và vấn đề đã được báo cáo.

 

Tác động


Trong quá trình xử lý khối, việc khai thác lỗ hổng DoS có thể làm hỏng tất cả các nút Geth, hậu quả sau đó là hậu quả là hầu hết các nút trong mạng Ethereum đều ngoại tuyến.


Ngoài Go-Ethereum, vấn đề này có thể ảnh hưởng đến tất cả các fork của Geth (chẳng hạn như TurboGeth hoặc core-geth được ETC sử dụng). Để mở rộng phạm vi điều tra, chúng tôi sẽ tiếp tục truy tìm lại mã và nhóm Go cũng đã mở một cuộc điều tra về những người dùng có khả năng bị ảnh hưởng.


Dòng thời gian sự kiện 


24-10-2020: Nhận báo cáo sự cố từ OSS-fuzz  ;

2020-10-25: Sau khi điều tra, xác định nguyên nhân là do lỗ hổng trong ngôn ngữ Go. Báo cáo chi tiết đã được gửi tới security@golang.org

2020-10-26: Đã nhận được phản hồi xác nhận, cuộc điều tra vẫn tiếp tục  ;

2020-10-26 – 2020-11-06: Thảo luận về các bản sửa lỗi có thể có và tiếp tục điều tra hồi cứu những người dùng có khả năng bị ảnh hưởng 

2020-11-06: Go Dự kiến phát hành các bản sửa lỗi bảo mật trên 2020-11-12 

2020-11-09: Sử dụng các bản vá bảo mật được công bố trước: https://groups.google.com/g/golang-announce/c/kMa3eup0qhU/m/O5RSMHO_CAAJ

2020-11-11 : Qua trang chính thức của Geth twitter, Discord và Redditthông báo cho người dùng 

2020-11-12 : Phát hành phiên bản Go mới , và các vấn đề khác với phiên bản mới của geth 


Lỗ hổng khai thác


PR này gửi một vấn đề bảo mật khác khiến chúng tôi chú ý, trong đó có bản sửa lỗi cho thuật toán ethash.


Lỗ hổng khai thác này có thể khiến thợ mỏ tính toán sai bằng chứng công việc trong các giai đoạn tương lai. Sự cố này đã xảy ra trong chuỗi ETC vào ngày 2020-11-06. Dự kiến, điều này có thể có tác động đến mạng chính ETH vào đầu tháng 1 năm 2021 ở độ cao khối 11550000/epoch 385.


Vấn đề này cũng đã được khắc phục trong phiên bản 1.9.24, lỗ hổng này chỉ liên quan đến các nút khai thác, còn các nút không phải khai thác sẽ không bị ảnh hưởng.


Lỗ hổng sao chép nông Geth


Các phiên bản bị ảnh hưởng: 1.9.7 –   1.9.16

Đã sửa: 1.9.17

Loại: Lỗ hổng đồng thuận


2020 7 Vào ngày 15 tháng 3 , John Youngseok Yang (Phòng thí nghiệm nền tảng phần mềm) đã báo cáo lỗ hổng đồng thuận trong Geth.


Hợp đồng dataCopy (0x00 ... 04) được biên dịch trước của Geth tạo một bản sao nông khi được gọi, trong khi Parity tạo một bản sao sâu. Kẻ tấn công có thể triển khai hợp đồng như vậy:


Viết X 

Sử dụng R làm tham số để gọi 0x00..04  ;

Sử dụng R để ghi đè Y 

Cuối cùng gọi RETURNDATACOPY 

Khi opcode gọi hợp đồng, Parity sẽ đẩy X vào ngăn xếp EVM và Geth sẽ push Y 


Kết quả


Điều này xảy ra trong khu vực mạng chính Ethereum Chiều cao khối Giao dịch tại 11234873 0x57f7f9 , khiến nút không hoạt động và khoảng 30 khối bị mất trong chuỗi bên. Điều này cũng khiến Infura chuyển sang chế độ ngoại tuyến, từ đó ảnh hưởng đến người dùng và nhà cung cấp dịch vụ sử dụng Infura.


Để biết thêm chi tiết, hãy xem Geth và Báo cáo sự cố của Infura và Chuỗi tweet.


Lỗ hổng DoS trong phiên bản 16  và .17 


Các phiên bản bị ảnh hưởng : v1 .9.16,v1.9.17

Đã sửa: v1.9.18

Loại: Lỗ hổng DoS trong quá trình xử lý khối


Chúng tôi đã phát hiện ra lỗ hổng DoS và sửa nó trong v1.9.18. Chúng tôi đã quyết định không tiết lộ chi tiết vào thời điểm này.


Đề xuất


Trước mắt, chúng tôi khuyên tất cả người dùng nên nâng cấp Geth lên v1. Phiên bản 9.24 ngay lập tức (Go 1.15.5), đây là Bản phát hành chính thức: https:/ /github .com/ethereum/go-ethereum/releases/tag/v1.9.24


Nếu bạn đang sử dụng Geth thông qua Docker, có thể có một số vấn đề thắc mắc. Nếu đó là ethereum/client-go, có hai điều cần lưu ý:


Hình ảnh mới trong Docker hub có thể bị trì hoãn

If Go's If base hình ảnh không được tạo nhanh như vậy, rất có thể nó dựa trên phiên bản dễ bị tấn công của Go


Nếu bạn dự định tự tạo hình ảnh docker (thông qua kho lưu trữ gốc docker build .), bạn cũng có thể gặp phải vấn đề thứ hai.


Vì vậy, hãy đảm bảo hình ảnh cơ sở đang sử dụng Go 1.15.5.


Về lâu dài, chúng tôi khuyến nghị người dùng và thợ mỏ nên sử dụng các ứng dụng khách thay thế. Chúng tôi nhận thức rõ ràng rằng để mạng Ethereum duy trì khả năng phục hồi, nó không thể dựa vào việc triển khai một khách hàng duy nhất. Các tùy chọn khách hàng khác bao gồm Besu, Nethermind, OpenEthereum   TurboGeth V.v.


Bạn có thể truy cập https://bounty.ethereum.org a>, bounty@ethereum.org or security@ethereum. org  Báo cáo lỗ hổng bảo mật.


Liên kết gốc


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi