This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Failing PCI Scans because of outdated jQuery in User Portal - Is there a fix?

We are failing our PCI compliance scans on every XG firewall we have that has the user portal enabled.  Our PCI compliance scanning company is telling us this:

 

Description:  "jQuery is vulnerable to Cross-site Scripting (XSS) attacks when a cross-domain Asynchronous JavaScript and Extensible Markup Language (AJAX) Request is performed without the dataType option, causing text/javascript responses to be executed.  This finding indicates that either the root domain url, sub-domain url, or an imported/sourced version of jQuery is below jQuery version 3.0. All three scenarios allow an attacker to execute cross site scripting attacks on the root domain."

Evidence: jQuery appears to be '2.1.3' and needs to be at '3.0.0' or higher

 

This is ONLY happening on the port used by the User Portal.  To verify this we changed the port to another number, had a host rescanned, and the vulnerability was found on that new port.

 

Is there anything I can do to get this fixed or do I have to wait for Sophos to update the jQuery version they are using?  Is there a bug report place I can put this if that's the case or who do I contact?

 



This thread was automatically locked due to age.
  • So my dispute was accepted.  I sent the following text for my dispute:

     

    The Sophos firewall is running 2.1.3.  The Sophos support department has confirmed from dev team that the CVE-2015-9251 false positive result has been patched and hardened. 

    I'm now running the latest sophos version 17.5

    I received the following from:

    I have confirmed with our global escalations team (GES) that the XG is patched since MR2 however the detection will falsely be detected.

    It it scheduled to be fixed in 18.5, however this may change and we do not have a set date for when this will be released.

  • Hi Allen ,

     

    Please private message me such cases with Case# so we would track this and link these issues.

  • Hey AllanD,

    This thread seems to have de-railed somewhat. Let me try to put some tracks under it again.

    As you should expect, this report was already known to us, and some of the confusion comes from there being multiple CVEs reported in the initial reports we received, and this wasn't a simple case of "critical vuln found, fix immediately".  

    CVE-2016-10707 was found to be a false positive on XG, because the version of jquery we use is not affected, despite early reports to the contrary. You can find some comments on this buried here: https://github.com/jquery/jquery/issues/3133  Specifically: "The range in the database is incorrect, the only affected version is 3.0.0-rc.1. Both the earlier 2.1.x2.2.x & 3.0.0-beta1 and the later 3.0.0 don't exhibit the issue."

    Originally, a range of affected versions were reported, but later, this was reduced to just one version, which is not the version XG is using. If this cve is being flagged, it is a false positive on the part of your auditor, likely because it is using the originally mis-reported list of affected versions. The link above should help with supporting material for this.

    The other item is CVE-2015-9251, does affect the version XG is using, and that library is potentially vulnerable to a XSS attack - depending on implementation. XG's implementation does not allow it to access any external content, thus the risk has always been fully mitigated, lowering the priority to update. We will eventually upgrade to a newer version of jquery, but we're not ready for that effort just yet, so as a further interim step, in v17.1 MR2, we back-ported the fix from a later version, to the version we are running. As of v17.1 MR2, XG is not even theoretically affected, though because the version number remains the same, this will likely need to be addressed explicitly in your audits. 

    Hopefully that clarifies things a bit, and I'll follow up internally, to make sure that our KB articles are adequately detailed, to cover what I've said above. 

     

    One final note, though..

    AllanD said:
    And the reason this is important is because this XG product suffers from lots of other vulnerabilities that need manual intervention to fix.  Like the fact it supports 3DES encryption, TLS1.0, TLS1.1, and HTTP Track/Trace all by default and all that fail PCI compliance scans.

    That info is outdated. I'm not sure when this changed, but it's been a while, and doing a quick sanity check, my firewalls all report an A ('T' actually, but 'A' if certificate trust issues are ignored) on qualys ssl test site. None of the issues you mention are present in their report. you might want to have another look at that.

  • (snip bunch of tech stuff)

    Thank you for the additional information.  I will submit this to our scanning company and go from there.  This is what they want to know, the KB article is extremely vague...they read it and said there is nothing substantial in the article to change my failing grade.  And your support people just keep pointing me to the KB article or telling me it will be upgraded to 3.* with version 18.0 and they have no ETA.

     

    That info is outdated. I'm not sure when this changed, but it's been a while, and doing a quick sanity check, my firewalls all report an A ('T' actually, but 'A' if certificate trust issues are ignored) on qualys ssl test site. None of the issues you mention are present in their report. you might want to have another look at that.

    I'm sorry but you are incorrect on this.  The reason none of these things are in the report is because I keep manually fixing them.  For example I just upgraded a XG310 from 17.1 MR3 -> MR4:

     

     

    I then re-run a PCI compliance scan.  Here is the results.  The IP address in question ends in .98:

     

     

    I highlighted the failures on 3DES and TLS 1.0.  So I telnet in and check the appache httpd.conf file and this is whats in it:

     

     

    Sure enough all those protocols are reenabled on each firmware upgrade.  I then have to manually edit that file to remove 3DES, TLSv1, TLSv1.1, and TraceTrack so it looks like this:

     

     

    and restart the services (per the instructions your support people gave me and I blogged about here). I then rescan and I no longer fail due to those items:

     

     

    So this issue has been around since v16.01 and has required a manual editing of that file for every firmware upgrade on every XG box we have.  This has been going on for at least two years now.  So I stand by my "this XG product suffers from lots of other vulnerabilities that need manual intervention to fix" comment.  If you have a better solution I'd love to hear it because I purposely don't do firmware updates as often as I should because I know I have to do this afterward every time.  And I'm not the only one this is affecting based on my previous forum post about it.

     

    (Side note:  My other failures stem from the scanning company not liking our SSL with multiple subject alternative names....they are going to allow us to dispute those.  The RED devices on port 3400 are taking some arguing since you guys are using a self signed certificate for those).

  • hmm.. there's definitely something wrong on your system. I'll post the un-edited contents of my httpd.conf below, and you can see that only TLS 1.2 is allowed, and only a limited set of ciphers. I'm running 17.5 GA, but I went back and checked, and we removed TLS 1.0 and 1.1, and a bunch of ciphers in 16.01, MR2 (NC-8116). You can see it mentioned in the release notes here: https://community.sophos.com/products/xg-firewall/b/xg-blog/posts/sfos-16-01-3-mr2-released

    If you spin up a new VM, you should be able to see the same thing I'm seeing. I can't explain why your system is behaving differently, but if you can confirm that what you're seeing, and what I'm seeing are in fact the same thing, then open a support case, and PM me the case number. I'll make sure it's escalated and we look into it. 

     

    Here's the settings from my systems:

    <VirtualHost _default_:${userportal_listen_port}>
    Include /_conf/httpd/conf/userportal_alias.conf
    SSLProtocol -all +TLSv1.2
    SSLHonorCipherOrder on
    SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK:!EXP:!NULL:!ADH
    SSLEngine on
    SSLCertificateFile "${SSLCertificateFileWithPath}"
    SSLCertificateKeyFile "${SSLCertificateKeyFileWithPath}"
    SSLCACertificatePath "/conf/certificate/cacerts"
    Include /_conf/httpd/conf/userportal-static.conf
    </VirtualHost>

  • I'm having the same issue.  I've got an xg 450.  I recently updated to 17.5.  After the update I had to edit httpd config as well.

     

    For example the original cypher line:

    ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:ECDH+3DES:DH+3DES:RSA+3DES:!aNULL:!MD5:!DSS

    Modified cypher line:

    ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS

     

    SSLProtocol all -SSLv2 -SSLv3

    Modified protocols line:

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

  • I'm sorry  but I don't believe this is an isolated issue. And the fact that is having the same issue should be some confirmation.  I have had this issue, again, for two years. It affects my XG310 which is what I just demonstrated above and also both of my XG125w's.  One of the 125 was just purchased last September so it probably started with a late version of 16 or a very early version of 17.  three different firewalls, all installed at different times, all having the same exact issue. This is not a bug with my hardware but something wrong with your software or the upgrade process.

  • I'm wondering if the hardware appliances only have the issue with editing httpd?  Maybe the VM's don't have the same issue. 

  • FYI:

    I just did the Qualsys SSL check with our XG210 and 17.5 GA:

     

    TLS seems to be ok

     

    But some weak cipher suites are enabled

     

    Overall rating is T but would be A if trust issues are ignored.

    I did not change anything in config files etc.

     

    Regards, Jelle

  • Yeah, find a better PCI compliance audit company. Most of them are shockers and rely way too much on the output of out-of-date compliance scanners.

    Granted, the Sophos KB Article could be better written. I'd be inclined in these situations to have the KB Article authors educate the PCI auditors why their "computer says no" tools suck so badly :-)