C#


CSHARP.INSEC.USET : Unsafe Session Expiration Time (C#)

Summary

Session expiration is set to an unsafe value. This could lead to the reuse of old session credentials or session IDs for authorization.

Properties

Class Name Unsafe Session Expiration Time (C#)
Significance security
Mnemonic CSHARP.INSEC.USET
Categories
CWE CWE:613 Insufficient Session Expiration
Availability Available for C# only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Unsafe Session Expiration Time (C#)"

Example

using com.juliasoft.julia.checkers.injection;
using System;

using System.IO;
using System.Web;
using System.Web.UI;
using System.Text.RegularExpressions;

public class RegexInjection : Page {
    public void ProcessRequest1(HttpRequest request, HttpResponse response) {
        HttpContext ctx = HttpContext.Current;
        HttpSessionState session = ctx.Session;
        
        session.Timeout = -1;     // 'Unsafe Session Expiration Time (Java)' warning issued here
                                  //  - A negative setting indicates that the session will never expire.
        // ...
    }
    
    public void ProcessRequest2(HttpRequest request, HttpResponse response) {
        HttpContext ctx = HttpContext.Current;
        HttpSessionState session = ctx.Session;
        
        session.Timeout = 525601; // 'Unsafe Session Expiration Time (Java)' warning issued here
                                  //  - Settings higher than 525600 (1 year) are not permitted.
        // ...
    }
}

See the HttpSessionState.Timeout documentation for more information.

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.