From c721af6db5992d16fbd93855666eafa616512e00 Mon Sep 17 00:00:00 2001 From: Adrian Bunk Date: Wed, 15 Nov 2006 17:01:46 +0100 Subject: [PATCH] [PATCH] security/seclvl.c: fix time wrap (CVE-2005-4352) initlvl=2 in seclvl gives the guarantee "Cannot decrement the system time". But it was possible to set the time to the maximum unixtime value (19 Jan 2038) resulting in a wrap to the minimum value. This patch fixes this by disallowing setting the time to any date after 2030 with initlvl=2. This patch does not apply to kernel 2.6.19 since the seclvl module was already removed in this kernel. Signed-off-by: Adrian Bunk Signed-off-by: Chris Wright --- security/seclvl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/security/seclvl.c b/security/seclvl.c index c26dd7de04712..d5371b8dae01c 100644 --- a/security/seclvl.c +++ b/security/seclvl.c @@ -370,6 +370,8 @@ static int seclvl_settime(struct timespec *tv, struct timezone *tz) current->group_leader->pid); return -EPERM; } /* if attempt to decrement time */ + if (tv->tv_sec > 1924988400) /* disallow dates after 2030) */ + return -EPERM; /* CVE-2005-4352 */ } /* if seclvl > 1 */ return 0; } -- 2.47.2