🇰🇷 한글 설명
MySQL Server의 Optimizer 구성 요소에 있는 취약점으로, 8.0.0-8.0.44, 8.4.0-8.4.7 및 9.0.0-9.5.0 버전의 MySQL Server에서 발생합니다. 이 취약점은 네트워크 접근을 통해 저신뢰도 공격자가 MySQL Server를 손상시키거나 반복적으로 충돌을 일으킬 수 있습니다.
💡 쉬운 설명
MySQL Server의 취약점으로 인해 저신뢰도 공격자가 네트워크를 통해 MySQL Server를 손상시키거나 충돌을 일으킬 수 있습니다. 이로 인해 MySQL Server의 가용성이 영향을 받을 수 있습니다.
🇺🇸 원문 (English)
Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Optimizer). Supported versions that are affected are 8.0.0-8.0.44, 8.4.0-8.4.7 and 9.0.0-9.5.0. Easily exploitable vulnerability allows low privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 6.5 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H).
📍 영향받는 시스템
MySQL Server 8.0.0-8.0.44, 8.4.0-8.4.7, 9.0.0-9.5.0
⚔️ 공격 벡터
네트워크 접근을 통해 저신뢰도 공격자가 MySQL Server를 공격
🛡️ 대응 방법
MySQL Server를 최신 버전으로 업데이트하거나, Oracle에서 제공하는 패치 적용
🔧 검증 코드
로컬 시스템에서 Python을 설치하고, 위의 코드를 실행하여 MySQL Server의 버전을 확인합니다. 코드를 실행하기 위해 관리자 권한이 필요하지 않습니다. 결과는 JSON 형식으로 출력되며, "result" 필드가 "취약"인 경우 MySQL Server의 버전이 취약한 버전임을 의미합니다.
import subprocess
result = subprocess.run(['mysql', '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
version = result.stdout.decode('utf-8').split()[3]
if version < '8.0.45' or (version >= '8.4.0' and version <= '8.4.7') or (version >= '9.0.0' and version <= '9.5.0'):
print({"result": "취약", "reason": "MySQL Server 버전이 취약한 버전입니다."})
else:
print({"result": "양호", "reason": "MySQL Server 버전이 안전한 버전입니다."})