🔍 CVE-2023-53456

5.5
CVSS Score
MEDIUM
2025-10-01
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 qla4xxx SCSI 드라이버에서 netlink 속성(nlattr)을 파싱할 때 길이 검사가 누락되어 있습니다. 길이가 0인 등 잘못된 nlattr이 전달되면 범위를 벗어난 읽기가 발생해 힙 메모리 데이터가 노출될 수 있습니다. 수정으로 nla_len 검사를 추가하고 실패 시 EINVAL을 반환하도록 변경되었습니다.

💡 쉬운 설명

리눅스 커널 안의 특정 하드웨어 드라이버가 외부에서 받은 데이터의 길이를 확인하지 않아 메모리 일부가 새어 나갈 수 있는 문제입니다. 해당 드라이버를 쓰는 시스템에서는 커널 업데이트로 이 문제를 막을 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: scsi: qla4xxx: Add length check when parsing nlattrs There are three places that qla4xxx parses nlattrs: - qla4xxx_set_chap_entry() - qla4xxx_iface_set_param() - qla4xxx_sysfs_ddb_set_param() and each of them directly converts the nlattr to specific pointer of structure without length checking. This could be dangerous as those attributes are not validated and a malformed nlattr (e.g., length 0) could result in an OOB read that leaks heap dirty data. Add the nla_len check before accessing the nlattr data and return EINVAL if the length check fails.

📍 영향받는 시스템

qla4xxx 드라이버를 포함한 수정 이전의 Linux 커널 버전 (QLogic iSCSI 어댑터 사용 시)

⚔️ 공격 벡터

로컬 권한을 가진 사용자가 잘못된 길이의 netlink 메시지를 보내 커널 힙 메모리 일부를 읽어내는 방식

🛡️ 대응 방법

배포판에서 제공하는 보안 업데이트가 적용된 최신 커널로 업데이트하고 재부팅합니다.

🔧 검증 코드

커널 버전이 수정 패치가 포함된 배포판 업데이트 버전 이상이면 해결된 것이며, qla4xxx 모듈이 로드되지 않았다면 이 취약점의 영향을 받지 않습니다.

Shell / Script
uname -r && (lsmod | grep -E 'qla4xxx' || echo 'qla4xxx module not loaded')

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel