در نرمافزار LibreOffice یک آسیبپذیری امنیتی در نحوه پردازش فونتهای CFF (Compact Font Format) شناسایی شده است که میتواند منجر به بروز مشکل Stack Buffer Overflow شود. این فونتها معمولاً به صورت داخلی در اسناد (Documents) جاسازی میشوند و توسط نرمافزار خوانده میشوند.
جزئیات فنی آسیبپذیری
این نقص امنیتی زمانی رخ میدهد که نرمافزار در حال خواندن Hints مربوط به یک Glyph است. در نسخههای آسیبپذیر، تعداد Hintها با یک محدوده (Bound) نادرست بررسی میشد. در نتیجه، اگر یک Glyph تعداد Hintهای بیشتری نسبت به ظرفیت تعریف شده برای آرایه (Array) اعلام میکرد، دادهها فراتر از محدوده حافظه تخصیص داده شده نوشته میشدند (Write past its end).
راهکار اصلاحی
در نسخههای اصلاح شده، مکانیزم بررسی تعداد Hintها بهگونهای تغییر یافته است که مقدار اعلام شده دقیقاً با ظرفیت واقعی آرایه مقایسه شود تا از هرگونه نفوذ به حافظه جلوگیری گردد. توصیه میشود مدیران امنیت و مهندسان سیستمهای عملیاتی، LibreOffice را به آخرین نسخه بهروزرسانی کنند تا ریسک اجرای کد از راه دور (RCE) یا کرش کردن برنامه کاهش یابد.