آسیب‌پذیری در زبان برنامه نویسی go

آسیب‌پذیری در زبان برنامه نویسی go

تاریخ ایجاد

زبان برنامه نویسی go در تمام نسخه‌های قبل از 1.17.11 و از نسخه 1.18.0 تا قبل از نسخه 1.18.3 یک آسیب‌پذیری با شدت بالا (7.5 از 10) دارد. منشأ این آسیب‌پذیری تابع Read درکتابخانه /crypto/rand می‌باشد. حلقه نامحدود در این تابع به مهاجم این امکان را می‌دهد تا با ارسال یک بافر بزرگتر از 4294967295 بایتی به تایع، یک هنگ نامحدود را ایجاد نماید.
 

go

برای رفع این آسیب‌پذیری چهار ماژول این کتابخانه مطابق با اصلاحیه golang به کامیت شماره bb1f4416180511231de6d17a1f2f55c82aafc863 به شرح زیر تغییر یافته‌اند.

1- در ماژولrand.go :
 

go

2- ماژول rand_batched_test.go:
 

go

3- ماژول rand_unix:
 

go

4- ماژول rand_windows.go:
 

go

منابع خبر:

https://nvd.nist.gov/vuln/detail/CVE-2022-30634#range-8145688
https://github.com/golang/go/commit/bb1f4416180511231de6d17a1f2f55c82aafc863