Skip to main content
April 17, 2008
Question

Application variable security

  • April 17, 2008
  • 3 replies
  • 378 views
I get this notification from our security group this a.m. that states, "Application variables need to be removed from CF applications during the next release because these can be accessed by any application running on the same box and pose a security risk."

I have checked documentation and searched for anything that identifies this as a known issue or security risk for CF Applications. But, have found nothing on this.

Lets say there are three CFMX 7 Applications all running on the same server. We'll call them App_A, App_B, and App_C. If App_A assigns a value to an application variable (i.e., <cfset application.user_name="JDoe123">), is it then possible for App_B and/or App_C to then reference, use, and/or change App_A's application.user_name variable value?

Say by referring to the App_A application variable using syntax similar to this: <cfoutput>#App_A.application.user_name#</cfoutput>

    This topic has been closed for replies.

    3 replies

    12Robots
    Participating Frequently
    April 19, 2008
    Wow, thanks for the info, tmschmitt. I had no idea. It makes perfect sense now and it is really good to know.

    So, jdf, are you in a shared hosting environment? Are you sharing a ColdFusion server with someone outside of your organization? Or someone within your org that should not have access to your application scope?

    Participating Frequently
    April 19, 2008
    It's not quite as simple as you suggest, but it is quite easy to list out the other applications on a server, including CF8, and potentially "become" one of those applications. From there, the options are wide open.
    Here is some interesting reading on the subject:
    http://corfield.org/blog/index.cfm/do/blog.entry/entry/Sharing_Application_Scope
    12Robots
    Participating Frequently
    April 18, 2008
    Well, to my knowledge this is Hooey unless you are dealing with multiple unnamed applications. Unnamed apps will share an application scope, which is why it is important to always name your applications.

    <cfset this.name="myApp" />

    I recall reading the message you quoted, but I can't remember where. I want to say it concerned a really old version of CF.