🔍 CVE-2026-80578

7.3
CVSS Score
HIGH
2026-08-26
2026-10-16 20:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 fb_io_read() 함수에서 copy_to_user()가 부분 복사를 수행할 때 하드웨어 포인터와 남은 데이터 크기 간의 불일치가 발생하는 취약점입니다. 이로 인해 루프가 계속 실행될 경우 잘못된 오프셋에서 읽기가 재개되어 경계 외(Out-of-bounds) I/O 읽기가 발생할 수 있습니다.

💡 쉬운 설명

데이터를 사용자에게 전달하다가 오류가 났을 때, 읽기 위치를 제대로 맞추지 못해 정해진 범위를 넘어서 데이터를 읽어버리는 문제입니다. 이로 인해 시스템의 민감한 정보가 의도치 않게 노출될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: fbdev: core: Fix pointer desynchronization in fb_io_read() In fb_io_read(), if copy_to_user() performs a partial copy (e.g., due to a faulty user buffer), the loop adjusts the chunk size 'c' and updates the remaining 'count'. However, the hardware 'src' pointer has already been eagerly advanced by the original chunk size. If the loop is allowed to continue, the read will resume from an incorrect, over-advanced offset. Since the remaining 'count' was only decremented by the successful bytes, this desynchronization causes the next iterations to execute more hardware reads than originally bounded, eventually leading to out-of-bounds I/O reads. Fix this by breaking out of the loop immediately upon a partial copy_to_user(). A partial copy indicates a faulty user buffer, making subsequent read attempts futile. Breaking out ensures we return the number of successfully read bytes without risking out-of-bounds hardware accesses in subsequent mismatched iterations.

📍 영향받는 시스템

Linux kernel (fbdev core 관련 모듈 사용 시스템)

⚔️ 공격 벡터

결함이 있는 사용자 버퍼를 이용한 부분 복사를 유도하여 경계 외 메모리 읽기 수행

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 fb_io_read()의 루프 로직 수정 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H

💻 영향받는 소프트웨어

Linux Kernel