Re: SECURITY PROBLEM: filesystem permiossion bypass on FD alreadyopened

From: NiTRo
Date: Fri Oct 23 2009 - 18:52:27 EST


Pavel Machek ha scritto:
> On Fri 2009-10-23 22:44:44, Marcin Slusarz wrote:
>
>> On Fri, Oct 23, 2009 at 10:00:47PM +0200, NiTRo wrote:
>>
>>> Hi to all,
>>> Sorry for my bad english.
>>> Just discovered this security problem on my Suse 11 (Linux xxxx
>>>
>> You did not.
>> http://lkml.org/lkml/2009/10/23/159
>>
>
> Actually, no, this is something different... and old/known AFAICT.
>
Marcin, I just saw this, it's quite similar, right... But I don't fall back to /proc/self/fd for reading... I still use the same FD...

>
>>> 2.6.25.18-0.2-pae #1 SMP 2008-10-21 16:30:26 +0200 i686 i686 i386
>>> GNU/Linux) and my Slackware 10.1.0 (Linux xxxx 2.4.29-ow1 #1 Wed Feb 2
>>> 00:05:42 CET 2005 i586 unknown unknown GNU/Linux) with OpenWall patch.
>>> If a FD is opened on a allowed file and then the permission is changed
>>> the file is still redeable starting from the already read position to
>>> the EOF.
>>>
>>> This is the scenario:
>>>
>>> <root> creates a file /tmp/aaaa with 666 permission an with the "test"
>>> string inside it
>>> xxx:/tmp # echo test > /tmp/aaaa
>>> xxx:/tmp # chmod 666 /tmp/aaaa
>>> <sb> opens this file hooking it in a shell as FD number 3
>>> sb@xxx:~> bash 3< /tmp/aaaa
>>> <sb> read and prints it
>>> sb@xxx:~> read a <&3
>>> sb@xxx:~> echo $a
>>> test
>>> sb@xxx:~>
>>> ...anythig as expected...
>>> <root> changes the permissions on file to 600 and changes its content
>>> into "test o.o I cannot believe it..."
>>> xxx:/tmp # chmod 600 /tmp/aaaa
>>> xxx:/tmp # echo "test o.o I cannot believe it..." > /tmp/aaaa
>>> <sb> continue to try reading the file
>>> sb@xxx:~> read a <&3
>>> sb@xxx:~> echo $a
>>> o.o I cannot believe it...
>>> sb@test:~>
>>> ... and this is not expected...
>>>
>
>
> Really? I'd expect it. I have file open for reading, you wrote
> something new to it, so I can read it back. What is the problem?
> Pavel
>

I sow the second mail to... Shurely you have right... I'm sorry for this
"no-bug"...
I'd expect a read error due to permissions change... Sorry

Thanks a lot
Alessandro
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/