10. CVE-2009-2692
The Linux kernel 2.6.0 through 2.6.30.4, and
2.4.4 through 2.4.37.4, does not initialize all
function pointers for socket operations in
proto_ops structures, which allows local users to
trigger a NULL pointer dereference and gain
privileges by using mmap to map page zero,
placing arbitrary code on this page, and then
invoking an unavailable operation, as
demonstrated by the sendpage operation
(sock_sendpage function) on a PF_PPPOX socket.
}??
12. struct
roto_
p
ops
{
int
f iy;
am l
struct
odul
m
e
*ow ner;
int
( ease)
*rel
(
struct
ocket
sock)
s
*
;
int
( nd)
*bi
(struct
ocket
sock,
s
*
struct
ockaddr
m yaddr,
s
*
int
ockaddr_en)
s
l ;
int
(
*connect)
(
struct
ocket
sock,
s
*
struct
ockaddr
vaddr,
s
*
int
ockaddr_en,int
l ;
s
l
fags)
int
(
*socketpai (struct
ocket
sock1,
r)
s
*
struct
ocket
sock2)
s
*
;
int
(
*accept)
(struct
ocket
sock,
s
*
struct
ocket
new sock,int
l ;
s
*
fags)
..
.
}
;
17. struct
cred
{
atom i
c_t
usage;
ui
d_t
ui
/*
realU I
of
the
task
*/
d;
D
gi
d_t
gi
/*
realG I
of
the
task
*/
d;
D
ui
d_t
sui
/*
saved
U I
of
the
task
*/
d;
D
gi
d_t
sgi
/*
saved
G I
of
the
task
*/
d;
D
ui
d_t
eui
/*
effecti U I
of
the
task
*/
d;
ve
D
gi
d_t
egi
/*
effecti G I
of
the
task
*/
d;
ve
D
..
.
struct
user_struct
*user;
/*
realuser
I
subscri on
*/
D
pti
struct
group_i *group_i
/*
suppl entary
groups
for
eui
nfo
nfo;
em
d/fsgi */
d
..
.
}
;