🇰🇷 한글 설명
@jmondi/url-to-png 라이브러리는 기본적으로 localhost 및 127.0.0.1에 대한 스크린샷 캡처를 허용합니다. 이로 인해 서버에서 해당 프로젝트를 운영할 경우, 공격자가 서버 내부에서 실행 중인 다른 웹 서비스의 스크린샷을 탈취할 수 있는 보안 취약점이 존재합니다.
💡 쉬운 설명
웹사이트를 이미지로 바꿔주는 도구가 서버 내부의 비밀스러운 페이지까지 몰래 찍을 수 있는 허점이 발견되었습니다. 서버 안에 숨겨진 다른 서비스의 화면이 외부로 노출될 위험이 있습니다.
🇺🇸 원문 (English)
@jmondi/url-to-png is an open source URL to PNG utility featuring parallel rendering using Playwright for screenshots and with storage caching via Local, S3, or CouchDB. The package includes an `ALLOW_LIST` where the host can specify which services the user is permitted to capture screenshots of. By default, capturing screenshots of web services running on localhost, 127.0.0.1, or the [::] is allowed. If someone hosts this project on a server, users could then capture screenshots of other web services running locally. This issue has been addressed in version 2.1.1 with the addition of a blocklist. Users are advised to upgrade. There are no known workarounds for this vulnerability.
📍 영향받는 시스템
@jmondi/url-to-png version 2.1.1 미만
⚔️ 공격 벡터
공격자가 URL 파라미터에 localhost 또는 127.0.0.1 주소를 입력하여 서버 내부 서비스의 스크린샷을 요청함
🛡️ 대응 방법
해당 패키지를 차단 목록(blocklist) 기능이 추가된 버전 2.1.1 이상으로 업그레이드하십시오.
🔧 검증 코드
출력된 버전 번호가 2.1.1 미만인지 확인하십시오.
npm list @jmondi/url-to-png 2>/dev/null | grep -E '@jmondi/url-to-png@'