关联漏洞
标题:ReadyMedia 缓冲区错误漏洞 (CVE-2023-33476)Description:ReadyMedia(原名MiniDLNA)是一套兼容LNA/UPnP-AV客户端的媒体服务软件。该软件支持音乐、图片、视频等媒体文件。 ReadyMedia 1.1.15至1.3.2版本存在安全漏洞,该漏洞源于存在缓冲区溢出问题。攻击者可利用该漏洞控制缓冲区块值,从而导致越界读写。
Description
Exploits for a heap overflow in MiniDLNA <=1.3.2 (CVE-2023-33476)
介绍
# CVE-2023-33476
> ReadyMedia (MiniDLNA) versions from 1.1.15 up to 1.3.2 is vulnerable to Buffer Overflow. The vulnerability is caused by incorrect validation logic when handling HTTP requests using chunked transport encoding. This results in other code later using attacker-controlled chunk values that exceed the length of the allocated buffer, resulting in out-of-bounds read/write.
- [Root Cause Analysis](https://blog.coffinsec.com/0day/2023/05/31/minidlna-heap-overflow-rca.html)
- [Exploit Details](https://blog.coffinsec.com/0day/2023/06/19/minidlna-cve-2023-33476-exploits.html)
- [NIST CVE Entry](https://nvd.nist.gov/vuln/detail/CVE-2023-33476)
## exploits
- RCE via tcache poisoning+GOT overwrite exploit for x86-64 target
- RCE via tcache poisoning+RIP overwrite exploit for arm32 target (Netgear RAX30)
## fuzzing
- source code dir tweaked for fuzzing
- libfuzzer harnesses used to find the bug
## src
vulnerable source code that can be built to reproduce/test exploits
文件快照
[4.0K] /data/pocs/55ce4132ac32148da8016565a944adfd0639e4a2
├── [4.0K] exploits
│ ├── [ 12K] helper.py
│ ├── [4.9K] rax30-qemu-reverse-shell.py
│ ├── [1.3K] README.md
│ ├── [ 9] requirements.txt
│ └── [4.8K] tpoison-nopie-x64_reverse-shell.py
├── [4.0K] fuzzing
│ └── [4.0K] minidlna-1.3.0
│ ├── [ 155] deps.sh
│ ├── [4.0K] fuzzers
│ │ ├── [3.5K] fuzz_harness.c
│ │ └── [1.4K] fuzz_http_libfuzzer.c
│ ├── [1.5K] http.dict
│ ├── [ 904] Makefile
│ ├── [4.0K] minidlna-1.3.0
│ │ ├── [8.6K] albumart.c
│ │ ├── [1010] albumart.h
│ │ ├── [ 48] AUTHORS
│ │ ├── [1.5K] autogen.sh
│ │ ├── [6.6K] avahi.c
│ │ ├── [ 257] avahi.h
│ │ ├── [ 0] ChangeLog
│ │ ├── [7.7K] clients.c
│ │ ├── [2.8K] clients.h
│ │ ├── [ 843] codelength.h
│ │ ├── [7.2K] compile
│ │ ├── [ 22K] configure.ac
│ │ ├── [5.8K] containers.c
│ │ ├── [1.2K] containers.h
│ │ ├── [ 18K] COPYING
│ │ ├── [1.0K] event.h
│ │ ├── [3.7M] fuzzer_http
│ │ ├── [ 10K] getifaddr.c
│ │ ├── [2.0K] getifaddr.h
│ │ ├── [304K] icons.c
│ │ ├── [ 21K] image_utils.c
│ │ ├── [1.5K] image_utils.h
│ │ ├── [5.8K] kqueue.c
│ │ ├── [6.5K] libav.h
│ │ ├── [1.4K] LICENCE.miniupnpd
│ │ ├── [4.0K] linux
│ │ │ ├── [3.3K] inotify.h
│ │ │ ├── [2.3K] inotify-syscalls.h
│ │ │ └── [1.6K] minidlna.init.d.script.tmpl
│ │ ├── [3.9K] log.c
│ │ ├── [1.6K] log.h
│ │ ├── [2.2K] Makefile.am
│ │ ├── [ 44K] metadata.c
│ │ ├── [3.1K] metadata.h
│ │ ├── [3.5K] minidlna.c
│ │ ├── [3.8K] minidlna.conf
│ │ ├── [6.1K] minidlna.conf.5
│ │ ├── [3.5K] minidlna.c.ORIG
│ │ ├── [2.0K] minidlnad.8
│ │ ├── [2.3K] minidlnapath.h
│ │ ├── [3.0K] minidlnatypes.h
│ │ ├── [ 23K] minissdp.c
│ │ ├── [2.0K] minissdp.h
│ │ ├── [4.8K] minixml.c
│ │ ├── [2.5K] minixml.h
│ │ ├── [ 18K] monitor.c
│ │ ├── [ 452] monitor.h
│ │ ├── [7.5K] monitor_kqueue.c
│ │ ├── [9.6K] NEWS
│ │ ├── [5.3K] options.c
│ │ ├── [3.7K] options.h
│ │ ├── [6.7K] playlist.c
│ │ ├── [ 968] playlist.h
│ │ ├── [4.0K] po
│ │ │ ├── [2.0K] da.po
│ │ │ ├── [2.6K] de.po
│ │ │ ├── [2.1K] es.po
│ │ │ ├── [2.1K] fr.po
│ │ │ ├── [2.2K] it.po
│ │ │ ├── [2.2K] ja.po
│ │ │ ├── [2.1K] ko.po
│ │ │ ├── [ 39] LINGUAS
│ │ │ ├── [1.8K] Makevars
│ │ │ ├── [2.3K] minidlna.pot
│ │ │ ├── [2.0K] nb.po
│ │ │ ├── [2.1K] nl.po
│ │ │ ├── [2.6K] pl.po
│ │ │ ├── [ 10] POTFILES.in
│ │ │ ├── [3.0K] ru.po
│ │ │ ├── [2.6K] sl.po
│ │ │ └── [2.0K] sv.po
│ │ ├── [4.5K] process.c
│ │ ├── [3.0K] process.h
│ │ ├── [ 917] README
│ │ ├── [ 30K] scanner.c
│ │ ├── [2.2K] scanner.h
│ │ ├── [2.7K] scanner_sqlite.h
│ │ ├── [4.2K] select.c
│ │ ├── [1.5K] sendfile.h
│ │ ├── [6.1K] sql.c
│ │ ├── [1.4K] sql.h
│ │ ├── [4.0K] tagutils
│ │ │ ├── [ 11K] tagutils-aac.c
│ │ │ ├── [1.2K] tagutils-aac.h
│ │ │ ├── [ 15K] tagutils-asf.c
│ │ │ ├── [ 10K] tagutils-asf.h
│ │ │ ├── [9.3K] tagutils.c
│ │ │ ├── [ 12K] tagutils-dff.c
│ │ │ ├── [1.0K] tagutils-dff.h
│ │ │ ├── [ 11K] tagutils-dsf.c
│ │ │ ├── [1.1K] tagutils-dsf.h
│ │ │ ├── [3.6K] tagutils-flc.c
│ │ │ ├── [1.1K] tagutils-flc.h
│ │ │ ├── [3.5K] tagutils.h
│ │ │ ├── [7.3K] tagutils-misc.c
│ │ │ ├── [ 17K] tagutils-mp3.c
│ │ │ ├── [2.6K] tagutils-mp3.h
│ │ │ ├── [ 12K] tagutils-ogg.c
│ │ │ ├── [1.1K] tagutils-ogg.h
│ │ │ ├── [1.7K] tagutils-pcm.c
│ │ │ ├── [1.0K] tagutils-pcm.h
│ │ │ ├── [3.8K] tagutils-plist.c
│ │ │ ├── [7.4K] tagutils-wav.c
│ │ │ └── [1.1K] tagutils-wav.h
│ │ ├── [3.9K] testupnpdescgen.c
│ │ ├── [8.4K] tivo_beacon.c
│ │ ├── [1.2K] tivo_beacon.h
│ │ ├── [ 21K] tivo_commands.c
│ │ ├── [ 930] tivo_commands.h
│ │ ├── [3.4K] tivo_utils.c
│ │ ├── [1.3K] tivo_utils.h
│ │ ├── [ 155] TODO
│ │ ├── [ 21K] upnpdescgen.c
│ │ ├── [3.2K] upnpdescgen.h
│ │ ├── [ 12K] upnpevents.c
│ │ ├── [2.9K] upnpevents.h
│ │ ├── [3.5K] upnpglobalvars.c
│ │ ├── [9.8K] upnpglobalvars.h
│ │ ├── [ 52K] upnphttp.c
│ │ ├── [5.3K] upnphttp.h
│ │ ├── [4.2K] upnpreplyparse.c
│ │ ├── [2.6K] upnpreplyparse.h
│ │ ├── [ 69K] upnpsoap.c
│ │ ├── [1.5K] upnpsoap.h
│ │ ├── [ 12K] utils.c
│ │ ├── [3.2K] utils.h
│ │ ├── [6.2K] uuid.c
│ │ └── [1.0K] uuid.h
│ ├── [498K] minidlna-1.3.0.tar
│ ├── [4.0K] patches
│ │ └── [1.8K] upnphttp-fix.patch
│ ├── [ 87] patch.sh
│ ├── [ 187] README.md
│ └── [1.6K] xml.dict
├── [ 992] README.md
└── [4.0K] src
├── [ 191] deps.sh
└── [4.0K] minidlna-git
├── [8.6K] albumart.c
├── [1010] albumart.h
├── [ 48] AUTHORS
├── [1.5K] autogen.sh
├── [6.6K] avahi.c
├── [ 257] avahi.h
├── [4.0K] buildroot
│ ├── [ 424] build-static.sh
│ ├── [ 60] Config.in
│ ├── [ 48] external.desc
│ ├── [ 67] external.mk
│ ├── [4.0K] readymedia
│ │ ├── [ 789] Config.in
│ │ └── [ 863] readymedia.mk
│ └── [1.3K] readymedia_defconfig
├── [ 0] ChangeLog
├── [8.1K] clients.c
├── [2.8K] clients.h
├── [ 843] codelength.h
├── [7.2K] compile
├── [ 22K] configure.ac
├── [5.8K] containers.c
├── [1.2K] containers.h
├── [ 18K] COPYING
├── [1.1K] event.h
├── [ 10K] getifaddr.c
├── [2.0K] getifaddr.h
├── [304K] icons.c
├── [ 21K] image_utils.c
├── [1.5K] image_utils.h
├── [5.6K] kqueue.c
├── [6.5K] libav.h
├── [1.4K] LICENCE.miniupnpd
├── [4.0K] linux
│ ├── [3.3K] inotify.h
│ ├── [2.3K] inotify-syscalls.h
│ └── [1.6K] minidlna.init.d.script.tmpl
├── [3.9K] log.c
├── [1.6K] log.h
├── [2.3K] Makefile.am
├── [ 45K] metadata.c
├── [3.1K] metadata.h
├── [ 35K] minidlna.c
├── [3.8K] minidlna.conf
├── [6.1K] minidlna.conf.5
├── [2.0K] minidlnad.8
├── [2.3K] minidlnapath.h
├── [3.0K] minidlnatypes.h
├── [ 23K] minissdp.c
├── [2.0K] minissdp.h
├── [4.8K] minixml.c
├── [2.5K] minixml.h
├── [ 10K] monitor.c
├── [ 442] monitor.h
├── [9.5K] monitor_inotify.c
├── [7.5K] monitor_kqueue.c
├── [ 10K] NEWS
├── [5.3K] options.c
├── [3.7K] options.h
├── [6.7K] playlist.c
├── [ 968] playlist.h
├── [4.0K] po
│ ├── [2.0K] da.po
│ ├── [2.6K] de.po
│ ├── [2.1K] es.po
│ ├── [2.1K] fr.po
│ ├── [2.2K] it.po
│ ├── [2.2K] ja.po
│ ├── [2.1K] ko.po
│ ├── [ 39] LINGUAS
│ ├── [1.8K] Makevars
│ ├── [2.3K] minidlna.pot
│ ├── [2.0K] nb.po
│ ├── [2.1K] nl.po
│ ├── [2.6K] pl.po
│ ├── [ 10] POTFILES.in
│ ├── [3.0K] ru.po
│ ├── [2.6K] sl.po
│ └── [2.0K] sv.po
├── [4.5K] process.c
├── [3.0K] process.h
├── [ 917] README
├── [ 30K] scanner.c
├── [2.2K] scanner.h
├── [2.7K] scanner_sqlite.h
├── [4.1K] select.c
├── [1.5K] sendfile.h
├── [6.1K] sql.c
├── [1.4K] sql.h
├── [4.0K] tagutils
│ ├── [ 11K] tagutils-aac.c
│ ├── [1.2K] tagutils-aac.h
│ ├── [ 15K] tagutils-asf.c
│ ├── [ 10K] tagutils-asf.h
│ ├── [9.3K] tagutils.c
│ ├── [ 12K] tagutils-dff.c
│ ├── [1.0K] tagutils-dff.h
│ ├── [ 11K] tagutils-dsf.c
│ ├── [1.1K] tagutils-dsf.h
│ ├── [3.7K] tagutils-flc.c
│ ├── [1.1K] tagutils-flc.h
│ ├── [3.5K] tagutils.h
│ ├── [8.3K] tagutils-misc.c
│ ├── [ 17K] tagutils-mp3.c
│ ├── [2.6K] tagutils-mp3.h
│ ├── [ 12K] tagutils-ogg.c
│ ├── [1.1K] tagutils-ogg.h
│ ├── [1.7K] tagutils-pcm.c
│ ├── [1.0K] tagutils-pcm.h
│ ├── [3.8K] tagutils-plist.c
│ ├── [7.4K] tagutils-wav.c
│ └── [1.1K] tagutils-wav.h
├── [3.9K] testupnpdescgen.c
├── [8.4K] tivo_beacon.c
├── [1.2K] tivo_beacon.h
├── [ 21K] tivo_commands.c
├── [ 930] tivo_commands.h
├── [3.4K] tivo_utils.c
├── [1.3K] tivo_utils.h
├── [ 155] TODO
├── [ 21K] upnpdescgen.c
├── [3.2K] upnpdescgen.h
├── [ 12K] upnpevents.c
├── [2.9K] upnpevents.h
├── [3.5K] upnpglobalvars.c
├── [9.9K] upnpglobalvars.h
├── [ 53K] upnphttp.c
├── [5.4K] upnphttp.h
├── [4.2K] upnpreplyparse.c
├── [2.6K] upnpreplyparse.h
├── [ 69K] upnpsoap.c
├── [1.5K] upnpsoap.h
├── [ 12K] utils.c
├── [3.2K] utils.h
├── [6.2K] uuid.c
└── [1.0K] uuid.h
16 directories, 273 files
备注
1. 建议优先通过来源进行访问。
2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →