🔍 CVE-2023-52775

8.2
CVSS Score
HIGH
2024-05-21
2026-08-04 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net/smc 구성 요소에서 SMC-R 프로토콜 사용 시 데이터 손상이 발생할 수 있는 취약점입니다. 클라이언트와 서버 간의 타임아웃 불일치로 인해 SMC DECLINE 메시지가 이미 폴백(fallback)된 TCP 연결에서 읽히면서 프로토콜 오류를 유발합니다.

💡 쉬운 설명

네트워크 연결을 관리하는 과정에서 서버와 클라이언트 간의 시간 설정이 맞지 않아 데이터가 엉키는 문제입니다. 이로 인해 프로그램이 잘못된 데이터를 읽어 오류가 발생하거나 데이터가 깨질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/smc: avoid data corruption caused by decline We found a data corruption issue during testing of SMC-R on Redis applications. The benchmark has a low probability of reporting a strange error as shown below. "Error: Protocol error, got "\xe2" as reply type byte" Finally, we found that the retrieved error data was as follows: 0xE2 0xD4 0xC3 0xD9 0x04 0x00 0x2C 0x20 0xA6 0x56 0x00 0x16 0x3E 0x0C 0xCB 0x04 0x02 0x01 0x00 0x00 0x20 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xE2 It is quite obvious that this is a SMC DECLINE message, which means that the applications received SMC protocol message. We found that this was caused by the following situations: client server ¦ clc proposal -------------> ¦ clc accept <------------- ¦ clc confirm -------------> wait llc confirm send llc confirm ¦failed llc confirm ¦ x------ (after 2s)timeout wait llc confirm rsp wait decline (after 1s) timeout (after 2s) timeout ¦ decline --------------> ¦ decline <-------------- As a result, a decline message was sent in the implementation, and this message was read from TCP by the already-fallback connection. This patch double the client timeout as 2x of the server value, With this simple change, the Decline messages should never cross or collide (during Confirm link timeout). This issue requires an immediate solution, since the protocol updates involve a more long-term solution.

📍 영향받는 시스템

SMC(Shared Memory Communications) 프로토콜을 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

직접적인 공격보다는 네트워크 통신 과정의 타이밍 이슈로 인한 데이터 무결성 훼손 (DoS 또는 데이터 오류 유발 가능)

🛡️ 대응 방법

클라이언트 타임아웃 값을 서버 값의 2배로 늘려주는 최신 Linux 커널 패치를 적용하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전인지 배포판 보안 공지를 통해 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Redis