fill_mishblk() does not check the length of the read buffer, and copy 0xCC bytes from it. The length of the buffer is controlled by an attacker. By providing a length smaller than 0xCC, memcpy reaches out of the malloc'ed bound. This possibly leads to memory layout information leaking in the data. This might be used in a chain of vulnerability in order to reach code execution. ``` 185 void fill_mishblk(char* c, struct _mishblk* m) 186 { 187 memset(m, 0, sizeof(struct _mishblk)); 188 memcpy(m, c, 0xCC); ``` In the above code, the memory allocated for `c` may be shorter than 0xCC bytes. Upstream bug report : https://github.com/Lekensteyn/dmg2img/issues/11
Created dmg2img tracking bugs for this issue: Affects: fedora-all [bug 1959912]
Acknowledgments: Name: Anshunkang Zhou
This CVE Bugzilla entry is for community support informational purposes only as it does not affect a package in a commercially supported Red Hat product. Refer to the dependent bugs for status of those individual community products.