|
Bugzilla – Full Text Bug Listing |
| Summary: | VUL-0: CVE-2004-1726: multiple buffer overflows in xv | ||
|---|---|---|---|
| Product: | [Novell Products] SUSE Security Incidents | Reporter: | Marcus Meissner <meissner> |
| Component: | Incidents | Assignee: | Marcus Meissner <meissner> |
| Status: | RESOLVED FIXED | QA Contact: | Security Team bot <security-team> |
| Severity: | Normal | ||
| Priority: | P3 - Medium | CC: | security-team |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | CVE-2004-1726: CVSS v2 Base Score: 7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P) | ||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
create-suckit-bmp.c
v-3.10a-security.patch |
||
|
Description
Marcus Meissner
2004-08-24 15:41:10 UTC
<!-- SBZ_reproduce --> there was an exploit program attached, but it does not work on all platforms. Created attachment 22856 [details]
create-suckit-bmp.c
$ ./create-suckit-bmp 0xff00ff00
$ xv suckit.bmp
Speicherzugriffsfehler
$
will only work on intel.
Fix for xvbmp.c:168 use limit check against biBitCount (biBitCount <= 8) Fix for rest (malloc related overflows): try limiting the number of bytes passed in there, so there is no integer overflow. :/ biBitCount can be 1, 4, 8, 16, 24, 32 bits. The solution forthis problem is simply
if (biClrUsed > (1 << biBitCount))
biClrUsed = (1 << biBitCount);
in other word, do not allow more colors than the color depth
can handle.
in palette mode it should have biBitCount of 8 or less (1,4,8), otherwise we overflow the r,g,b arrays. Yep my check does the work. The suckit.bmp uses 700 colors and a deep of 4 and this will be catched now. Nevertheless I've added also some sanity checks to exit before allocation colors. For xviris.c at line 307 ff
if (rlebuflen < 0 || tablen < 0 || (tablen * sizeof(long)) < 0) {
loaderr = "Bogus IRIS File!";
return (byte *)NULL;
}
this check may help.
Created attachment 22864 [details]
v-3.10a-security.patch
Should avoid described overflows
Can you submit packages with this patch for 8.1 up to 9.1 and STABLE? And also forward the patch to the maintainer? I will forward it to vendor-sec for review. AFAIK xv isn't maintained anymore. For STABLE I've put it to /work/srd/done/STABLE/ other changes are in progress submitted /work/src/done/PATCHINFO/xv.patch.{box,maintained)
szubmitted laufzettel.
Hmmm ... then please remove my patchinfo files
/work/src/done/PATCHINFO/xv.cEy7PE
and
/work/src/done/PATCHINFO/xv.rU9VL8
Btw: the bugzilla number is 44120 and not 41420 <!-- SBZ_reopen -->Reopened by meissner@suse.de at Tue Aug 24 15:43:40 2004 thanks! reopen for update tracking packages approved Should be CAN-2004-1725 CAN-2004-1726 CVE-2004-1726: CVSS v2 Base Score: 7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P) |