Bản cập nhật Exim 4.94.2 sửa 10 lỗ hổng có thể khai thác từ xa

Bản phát hành máy chủ thư Exim 4.94.2 đã được xuất bản với việc loại bỏ 21 lỗ hổng (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), được Qualys xác định và trình bày dưới tên mã 21Móng tay. 10 vấn đề có thể bị khai thác từ xa (trong đó có việc thực thi mã bằng quyền root) thông qua thao tác với lệnh SMTP khi tương tác với máy chủ.

Tất cả các phiên bản Exim, có lịch sử được theo dõi trong Git từ năm 2004, đều bị ảnh hưởng bởi sự cố này. Các nguyên mẫu khai thác hoạt động đã được chuẩn bị cho 4 lỗ hổng cục bộ và 3 sự cố từ xa. Khai thác các lỗ hổng cục bộ (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) cho phép bạn nâng cao đặc quyền của mình cho người dùng root. Hai sự cố từ xa (CVE-2020-28020, CVE-2020-28018) cho phép thực thi mã mà không cần xác thực với tư cách là người dùng Exim (khi đó có thể giành được quyền truy cập root bằng cách khai thác một trong các lỗ hổng cục bộ).

Lỗ hổng CVE-2020-28021 cho phép thực thi mã từ xa ngay lập tức với quyền root, nhưng yêu cầu quyền truy cập được xác thực (người dùng phải thiết lập phiên xác thực, sau đó họ có thể khai thác lỗ hổng thông qua thao tác tham số AUTH trong lệnh MAIL FROM). Vấn đề xảy ra là do kẻ tấn công có thể thực hiện thay thế chuỗi trong tiêu đề của tệp đệm bằng cách viết giá trị đã xác thực_sender mà không thoát đúng các ký tự đặc biệt (ví dụ: bằng cách chuyển lệnh “MAIL FROM:<> AUTH=Raven+0AReyes ”).

Ngoài ra, cần lưu ý rằng một lỗ hổng từ xa khác, CVE-2020-28017, có thể bị khai thác để thực thi mã với quyền người dùng “exim” mà không cần xác thực nhưng yêu cầu bộ nhớ hơn 25 GB. Đối với 13 lỗ hổng còn lại, việc khai thác cũng có thể được chuẩn bị nhưng công việc theo hướng này vẫn chưa được thực hiện.

Các nhà phát triển Exim đã được thông báo về vấn đề này vào tháng 6 năm ngoái và đã dành hơn 4.94.2 tháng để phát triển các bản sửa lỗi. Tất cả các quản trị viên nên cập nhật khẩn cấp Exim trên máy chủ thư của họ lên phiên bản 4.94.2. Tất cả các phiên bản Exim trước phiên bản XNUMX đã được tuyên bố là lỗi thời. Việc xuất bản phiên bản mới được phối hợp với các bản phân phối xuất bản đồng thời các bản cập nhật gói: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE và Fedora. RHEL và CentOS không bị ảnh hưởng bởi sự cố này vì Exim không được đưa vào kho lưu trữ gói tiêu chuẩn của họ (EPEL chưa có bản cập nhật).

Các lỗ hổng đã được loại bỏ:

  • CVE-2020-28017: Tràn số nguyên trong hàm get_add_recipient();
  • CVE-2020-28020: Tràn số nguyên trong hàm get_msg();
  • CVE-2020-28023: Đọc ngoài giới hạn trong smtp_setup_msg();
  • CVE-2020-28021: Thay thế dòng mới trong tiêu đề tệp ống đệm;
  • CVE-2020-28022: Viết và đọc ở vùng bên ngoài bộ đệm được phân bổ trong hàm extract_option();
  • CVE-2020-28026: Cắt ngắn và thay thế chuỗi trong spool_read_header();
  • CVE-2020-28019: Sự cố khi đặt lại con trỏ hàm sau khi xảy ra lỗi BDAT;
  • CVE-2020-28024: Tràn bộ đệm trong hàm smtp_ungetc();
  • CVE-2020-28018: Truy cập bộ đệm không cần sử dụng trong tls-openssl.c
  • CVE-2020-28025: Đọc vượt quá giới hạn trong hàm pdkim_finish_bodyhash().

Lỗ hổng cục bộ:

  • CVE-2020-28007: Tấn công liên kết tượng trưng trong thư mục nhật ký Exim;
  • CVE-2020-28008: Tấn công thư mục ống chỉ;
  • CVE-2020-28014: Tạo tệp tùy ý;
  • CVE-2021-27216: Xóa tệp tùy ý;
  • CVE-2020-28011: Tràn bộ đệm trong queue_run();
  • CVE-2020-28010: Viết ngoài giới hạn trong main();
  • CVE-2020-28013: Tràn bộ đệm trong hàm parse_fix_phrase();
  • CVE-2020-28016: Viết ngoài giới hạn bằng pars_fix_phrase();
  • CVE-2020-28015: Thay thế dòng mới trong tiêu đề tệp ống đệm;
  • CVE-2020-28012: Thiếu cờ close-on-exec cho một đường ống không tên đặc quyền;
  • CVE-2020-28009: Tràn số nguyên trong hàm get_stdinput().



Nguồn: opennet.ru

Thêm một lời nhận xét