Vá lỗ hổng tồn tại đã 33 năm trong Unix

Thứ tư, 16/07/2008

 

Một nhà phát triển OpenBSD đã phát hiện và sửa lỗi trong bộ tạo phân tích cú pháp YACC, được tạo ra trong phiên bản AT&T Unix từ năm 1975.

OpenBSD là một biến thể của hệ điều hành (HĐH) nguồn mở, được sử dụng rộng rãi BSD (Berkeley Software Distribution) Unix. Các biến thể của BSD gồm OpenBSD, FreeBSD, NetBSD và là cơ sở cho HĐH Mac OS X của Apple. Lỗi ảnh hưởng tới bộ tạo phân tích cú pháp YACC.

Ông Otto Moerbeek, một nhà phát triển OpenBSD, đã tìm thấy lỗi này thông qua quá trình kiểm tra cách thi hành mới của thủ tục cấp phát bộ nhớ đa năng malloc. Một người dùng đã cảnh báo ông rằng, trên nền phần cứng Sparc64 và sử dụng lệnh malloc mới, việc biên dịch những dự án C++ lớn đôi khi thất bại với một lỗi biên dịch bên trong.

Ông Moerbeek nhận thấy, lỗi này xuất hiện trong bộ tạo phân tích cú pháp YACC được Stephen C. Johnson phát triển tại AT&T, và là một thành phần tiêu chuẩn của Unix kể từ những năm 1970. “Điều thú vị là tôi đã theo nó ngược dòng về phiên bản Sixth Edition Unix, được phát hành năm 1975”, ông Moerbeek viết trong bản mô tả về lỗi này.

Thủ tục malloc mới có thể kích hoạt lỗi vì các tính năng mới của nó mang lại một cơ hội tốt hơn cho việc phát hiện lỗi tràn bộ đệm, ông Moerbeek cho biết. Ông lưu ý, lỗi này chỉ được kích hoạt trên các hệ thống Sparc64.

Trong tháng 5/2008, nhà phát triển Marc Balmar người Thụy Sĩ tìm ra một lỗi 25 năm tuổi đã được chứng minh là tồn tại trong tất cả các biến thể của BSD, bao gồm cả những dẫn xuất như Mac OS X.

Theo PC World

 
Tìm là thấy

Tiêu Điểm