| Gói / sản phẩm | Phiên bản bị ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| WWBN/AVideo | ≤ 26.0 | |
| avideo | ≤ 26.0 |
objects/aVideoEncoderReceiveImage.json.php allowed an authenticated uploader to fetch attacker-controlled same-origin /videos/... URLs, bypass traversal scrubbing, and expose server-local files through the GIF poster storage path.
The vulnerable GIF branch could be abused to read local files such as /etc/passwd or application source files and republish those bytes through a normal public GIF media URL.
The vulnerable chain was:
objects/aVideoEncoderReceiveImage.json.php accepted attacker-controlled downloadURL_gifimagestr_replace('../', '', ...), which was bypassable with overlapping input such as ....///videos/... URLs were acceptedurl_get_contents() and try_get_contents_from_local() resolved the request into a local filesystem readThis made the GIF poster path a local file disclosure primitive with public retrieval.
POST /objects/aVideoEncoderReceiveImage.json.php
downloadURL_gifimage=https://localhost/videos/....//....//....//....//....//....//etc/passwd
GET /objects/videos.json.php?showAll=1
videosURL.gif.url./etc/passwd, byte-for-byte.An authenticated uploader can read server-local files and republish them through a public GIF media URL by supplying a crafted same-origin /videos/... path to downloadURL_gifimage. Because traversal scrubbing was bypassable and the fetched bytes were written to the GIF destination without effective invalid-image cleanup, successful exploitation allows disclosure of files such as /etc/passwd, readable application source code, or deployment-specific configuration accessible to the application.
Bạn đang dùng một trong các sản phẩm này? Quét site để biết có đang lộ phiên bản có lỗ hổng không.
Quét site miễn phí/videos/... fetches to resolve into local file readsrealpath() and strict base-directory allowlists