🇰🇷 한글 설명
Flutter용 file_picker 플러그인의 Android 구현에서 경로 탐색(CWE-22) 취약점이 발견되었습니다. FileUtils.kt의 openFileStream() 메서드가 ContentResolver로부터 가져온 파일 이름을 적절한 검증 없이 경로 생성에 사용하여, 악의적인 앱이 임의의 디렉토리에 파일을 생성할 수 있습니다.
💡 쉬운 설명
파일 선택 도구가 파일 이름을 확인할 때 보안 검사를 제대로 하지 않아 발생하는 문제입니다. 이를 통해 나쁜 앱이 사용자의 스마트폰 내부 저장소의 엉뚱한 위치에 파일을 몰래 만들 수 있습니다.
🇺🇸 원문 (English)
file_picker (aka flutter_file_picker) for Flutter, all versions through 10.3.10, is vulnerable to path traversal (CWE-22) in its Android implementation. The openFileStream() method in FileUtils.kt uses the DISPLAY_NAME obtained from ContentResolver.query() directly in file path construction without sanitization. A malicious Android app with a crafted ContentProvider can return a filename containing ../ sequences, causing the plugin to create arbitrary files and directories outside the intended cache directory within the victim app's internal storage. Existing files are not overwritten due to an existence check.
📍 영향받는 시스템
file_picker (flutter_file_picker) Flutter 플러그인 10.3.10 이하 모든 버전 (Android 환경)
⚔️ 공격 벡터
악의적인 ContentProvider를 가진 앱이 '../'와 같은 경로 조작 문자가 포함된 파일 이름을 반환하여 공격
🛡️ 대응 방법
file_picker 플러그인을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 file_picker의 버전이 10.3.10 이하인지 확인하십시오.
flutter pub deps | grep file_picker
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
Microsoft Edge for Android