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. Signed-off-by: Adrian Bunk <bunk@stusta.de>
This commit is contained in:
@@ -381,6 +381,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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user