Any signed-in user could upload an HTML or SVG file that ran as a web page on the forum's own domain. Anyone who opened a link to it could have their account taken over, including moderators and administrators. Fixed in v0.7.3.
Waterhole ships config/uploads.php with 'allowed_mimetypes' => [], which UploadController passes to File::types(), so attachments of any type are accepted.
Upload::fromFile() stored each file on the public uploads disk as uploads/<hash>.<extension>, where the extension comes from the file's detected content (UploadedFile::hashName()). HTML content was stored as .html, SVG as .svg and XML as .xml, and the web server served them from the forum's origin with an active content type.
Because the file runs on the same origin, a script in it can read the XSRF-TOKEN cookie and send authenticated requests as the victim, such as changing their password. Login counts as a recent password confirmation, so no re-confirmation prompt blocks this.
The fix (v0.7.3) stores uploads detected as HTML, XML (including SVG), JavaScript or PHP as .txt with type text/plain, so they are served as inert text. The files can still be attached and downloaded.
Stored cross-site scripting (CWE-79). It affects every Waterhole forum running a version below 0.7.3 that allows uploads (the default) and serves uploads from the forum's own domain (the default public disk).
Any signed-in user can take over the account of any user who opens a link to the uploaded file, including moderators and administrators.
Files uploaded before upgrading are not changed by the update. After upgrading, delete any .html, .htm, .svg, .xhtml, .xml or .js files in the uploads directory (storage/app/public/uploads by default).
Workaround if you can't upgrade straight away: set allowed_mimetypes in config/waterhole/uploads.php to safe types, for example:
'allowed_mimetypes' => ['jpg', 'jpeg', 'png', 'gif', 'webp', 'pdf', 'txt', 'zip'],
Then delete the existing files listed above.
소스: NVD
무료 취약점 평가
9개 보안 영역에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 파악하세요.
맞춤형 데모를 받아보세요
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."