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)
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 :
Created dmg2img tracking bugs for this issue:
Affects: fedora-all [bug 1959912]
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.