Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FF35A19.5010804@pre-sense.de>
Date: Tue, 03 Jul 2012 22:46:17 +0200
From: Timo Warns <warns@...-sense.de>
To: oss-security@...ts.openwall.com
Subject: Re: CVE Request: Stability fixes in UDF Logical Volume
 Descriptor handling

Am 03.07.2012 20:58, schrieb Kurt Seifried:
> On 07/03/2012 07:22 AM, Marcus Meissner wrote:
> 
>> People (do not know who) reported to the kernel security team and
>> Jan Kara some UDF filesystem crashes.
> 
>> Jan Kara did some fixes in the UDF fs and they were committed to
>> mainline already, both actual bugfixes and some more sanity 
>> checking for hardening.
>> 
>> I think a single CVE is sufficient.
> 
> Were they discovered by the same person or different people?

I reported the following issue for sparing tables on 2012-06-17 to
security@...nel.org. Eugene Teo informed Jan Kara, who is the maintainer
for the UDF filesystem, on the same day. Jan had a closer look at the
UDF code and identified all other issues addressed by the patches.

| udf_load_logicalvol() in fs/udf/super.c parses the number of sparing
| tables and stores the sparing tables on the heap:
|
| (1286)  for (j = 0; j < spm->numSparingTables; j++) {
| [...]
| (1293)    map->s_type_specific.s_sparing.
| (1294)	    s_spar_map[j] = bh2;
|
| map is of type udf_part_map, whose
| s_type_specific.s_sparing.s_spar_map
| member can only hold 4 pointers to buffer_head structs.
|
| spm->numSparingTables is read from the file system and not further
| validated. A corrupted file system with numSparingTables > 4 causes
| a heap overflow.

Regards, Timo

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.