C#


CSHARP.DEBUG.MEDF : Method Enables Debug Features (C#)

Summary

A method enabling debug features should not be called in production code.

Some operations should not be performed in production code, since they have no effect or have unpredictable effects, or since they might compromise the availability or security of your system.

Properties

Class Name Method Enables Debug Features (C#)
Significance reliability
Mnemonic CSHARP.DEBUG.MEDF
Categories
CWE CWE:489 Active Debug Code
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="Method Enables Debug Features (C#)"

Examples

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using System;

namespace DebugExamples
{
    public class Class
    {

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {

            app.UseDeveloperExceptionPage();  // "Method Enables Debug Features (C#)" warning issued here 

            app.UseStaticFiles();
            app.UseMvc();
        }
    }
}

Xalls to UseDeveloperExceptionPage() should not be used in a production environment, because it might expose relevant data about the application's configuration to the end user. An environment check should be performed before using this method as shown below.

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using System;

namespace DebugExamples
{
    public class Class
    {

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseStaticFiles();
            app.UseMvc();
        }
    }
}

Resolution

Verify if the operation is adequate for production code. Remove it or transform it if that is not the case.

Relevant Configuration File Parameters

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