🇰🇷 한글 설명
aiomysql 0.3.0 미만 버전에서 클라이언트가 로컬 파일을 MySQL 서버로 전송하기 전에 설정을 검증하지 않습니다. 악의적인 MySQL 서버가 LOAD_LOCAL 명령을 통해 클라이언트의 임의 파일을 요청하여 민감한 정보를 탈취할 수 있습니다.
💡 쉬운 설명
가짜 MySQL 서버가 당신의 컴퓨터 파일을 요청할 수 있는 결함입니다. 프로그램이 이를 차단하지 못해 개인 파일이 노출될 위험이 있습니다.
🇺🇸 원문 (English)
aiomysql is a library for accessing a MySQL database from the asyncio. Prior to version 0.3.0, the client-side settings are not checked before sending local files to MySQL server, which allows obtaining arbitrary files from the client using a rogue server. It is possible to create a rogue MySQL server that emulates authorization, ignores client flags and requests arbitrary files from the client by sending a LOAD_LOCAL instruction packet. This issue has been patched in version 0.3.0.
📍 영향받는 시스템
aiomysql < 0.3.0
⚔️ 공격 벡터
악의적 MySQL 서버 구축 후 LOAD_LOCAL 패킷으로 클라이언트 파일 요청
🛡️ 대응 방법
aiomysql을 0.3.0 이상으로 업그레이드
🔧 검증 코드
0.3.0 이상 버전이면 취약점 해결됨, 미만이면 즉시 패치 필요
pip show aiomysql 2>/dev/null | grep -i version || python3 -c "import aiomysql; print(aiomysql.__version__)" 2>/dev/null