Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:11151
HistoryJan 22, 2006 - 12:00 a.m.

Claroline 1.7.2, sso identification vulnerability

2006-01-2200:00:00
vulners.com
7

hi,
this is what we can read in file "/claroline/inc/claro_init_local.inc.php" :

[…]
$ssoCookieValue = md5( mktime() );

            $sql = "UPDATE `".$tbl_sso."`
                    SET cookie    = '".$ssoCookieValue."',
                        rec_time  = NOW()
                    WHERE user_id = ". (int) $_uid;

            $affectedRowCount = claro_sql_query_affected_rows($sql);

            if ($affectedRowCount < 1)
            {
                $sql = "INSERT INTO `".$tbl_sso."`
                        SET cookie    = '".$ssoCookieValue."',
                            rec_time  = NOW(),
                            user_id   = ". (int) $_uid;

                claro_sql_query($sql);
            }

           $boolCookie = setcookie($ssoCookieName, $ssoCookieValue,
                                   $ssoCookieExpireTime,
                                   $ssoCookiePath, $ssoCookieDomain);

[…]

so, the cookie value must be always unknown.
in this code, the cookie value is the md5 value of the connection time ! really unknown ? no.

solution :
desactivate sso service
or
replace mktime() by rand(100,1000000) (for e.g)