[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1289201612.2478.371.camel@edumazet-laptop>
Date: Mon, 08 Nov 2010 08:33:32 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: David Miller <davem@...emloft.net>
Cc: andi@...stfloor.org, drosenberg@...curity.com,
chas3@...rs.sourceforge.net, tytso@....edu,
torvalds@...ux-foundation.org, kuznet@....inr.ac.ru,
pekkas@...core.fi, jmorris@...ei.org, yoshfuji@...ux-ipv6.org,
kaber@...sh.net, remi.denis-courmont@...ia.com,
netdev@...r.kernel.org, security@...nel.org
Subject: Re: [Security] [SECURITY] Fix leaking of kernel heap addresses via
/proc
Le dimanche 07 novembre 2010 à 18:01 -0800, David Miller a écrit :
> From: Andi Kleen <andi@...stfloor.org>
> Date: Mon, 8 Nov 2010 00:56:10 +0100
>
> > I would just remove the pointers from /proc and supply
> > gdb macros that extract the equivalent information from /proc/kcore.
> > This is a bit racy, but for debugging it should be no
> > problem to run them multiple times as needed.
>
> I do not think at all that this is tenable for the kind of
> things people use the socket pointers for when debugging
> problems.
>
> I defeinitely prefer the inode number to this idea.
We currently have no guarantee of sockets inode numbers unicity.
I admit chances of clash are low.
When a printk() happens right before a BUG(), how are we going to check
the dumped registers are possibly close the socket involved, if we dont
have access to the machine, and only the crashlog ?
BTW, any local user can look at "dmesg", and crash reports. These
reports are even published on a remote site (bugzilla) so that hostile
hackers can be feeded.
I am OK to delete socket pointers from /proc files for non root users
(after checking things like lsof continue to work correctly).
I dont remember using them while doing debugging stuff.
BTW, rtnetlink also expose socket pointers to non root users :
$ ss -e dst 192.168.20.108
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 10.150.51.210:46979 192.168.20.108:ssh
timer:(keepalive,119min,0) ino:136919 sk:ffff88002129d7c0
Mixing in same patch /proc pointers removal and printk() pointers
removal seems wrong to me. Very different problems.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists