Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Submission + - Zero-day in popular jQuery plugin actively exploited for at least three years (zdnet.com)

generic writes: For at least three years, hackers have abused a zero-day in one of the most popular jQuery plugins to plant web shells and take over vulnerable web servers, ZDNet has learned.

The vulnerability impacts the jQuery File Upload plugin authored by prodigious German developer Sebastian Tschan, most commonly known as Blueimp.

The plugin is the second most starred jQuery project on GitHub, after the jQuery framework itself. It is immensely popular, has been forked over 7,800 times, and has been integrated into hundreds, if not thousands, of other projects, such as CMSs, CRMs, Intranet solutions, WordPress plugins, Drupal add-ons, Joomla components, and so on.

A vulnerability in this plugin would be devastating, as it could open gaping security holes in a lot of platforms installed in a lot of sensitive places.

This worse case scenario is exactly what happened. Earlier this year, Larry Cashdollar, a security researcher for Akamai's SIRT (Security Intelligence Response Team), has discovered a vulnerability in the plugin's source code that handles file uploads to PHP servers.

Cashdollar says that attackers can abuse this vulnerability to upload malicious files on servers, such as backdoors and web shells.

The Akamai researcher says the vulnerability has been exploited in the wild. "I've seen stuff as far back as 2016," the researcher told ZDNet in an interview.

The vulnerability was one of the worst kept secrets of the hacker scene and appears to have been actively exploited, even before 2016.

Cashdollar found several YouTube videos containing tutorials on how one could exploit the jQuery File Upload plugin vulnerability to take over servers. One of three YouTube videos Cashdollar shared with ZDNet is dated August 2015.

It is pretty clear from the videos that the vulnerability was widely known to hackers, even if it remained a mystery for the infosec community.

But steps are now being taken to address it. The vulnerability received the CVE-2018-9206 identifier earlier this month, a good starting point to get more people paying attention.

All jQuery File Upload versions before 9.22.1 are vulnerable. Since the vulnerability affected the code for handling file uploads for PHP apps, other server-side implementations should be considered safe.

Cashdollar reported the zero-day to Blueimp at the start of the month, who promptly looked into the report.

The developer's investigation identified the true source of the vulnerability not in the plugin's code, but in a change made in the Apache Web Server project dating back to 2010, which indirectly affected the plugin's expected behavior on Apache servers.

The actual issue dates back to November 23, 2010, just five days before Blueimp launched the first version of his plugin. On that day, the Apache Foundation released version 2.3.9 of the Apache HTTPD server.

This version wasn't anything out of the ordinary but it included one major change, at least in terms of security. Starting with this version, the Apache HTTPD server got an option that would allow server owners to ignore custom security settings made to individual folders via .htaccess files. This setting was made for security reasons, was enabled by default, and remained so for all subsequent Apache HTTPD server releases.

Blueimp's jQuery File Upload plugin was coded to rely on a custom .htaccess file to impose security restrictions to its upload folder, without knowing that five days before, the Apache HTTPD team made a breaking change that undermined the plugin's basic design.

"The internet relies on many security controls every day in order to keep our systems, data, and transactions safe and secure," Cashdollar said in a report published today. "If one of these controls suddenly doesn't exist it may put security at risk unknowingly to the users and software developers relying on them."

Since notifying Blueimp about his discovery, Cashdollar has been spending his time investigating the reach of this vulnerability. The first thing he did was to look at all the GitHub forks that have sprouted from the original plugin.

"I did test 1000 out of the 7800 of the plugin's forks from GitHub, and they all were exploitable," Cashdollar told ZDNet. The code he's been using for these tests is available on GitHub, along with a proof-of-concept for the actual flaw.

At this article's publication, of all the projects derived from the original jQuery File Upload plugin, and which the researcher tested, only 36 were not vulnerable.

But there is still lots of work ahead, as many projects remain untested. The researcher has already notified US-CERT of this vulnerability and its possible impact. A next step, Cashdollar told ZDNet, is to reach out to GitHub for help in notifying all plugin fork project owners.

But looking into GitHub forks is only the first step. There are countless web applications where the plugin has been integrated. One example is Tajer, a WordPress plugin that Cashdollar identified as vulnerable. The plugin had very few downloads, and as of today, it has been taken off the official WordPress Plugins repository and is not available for download anymore.

Identifying all affected projects and stomping out this vulnerability will take years. As it's been proven many times in the past, vulnerabilities tend to linger for a long time, especially vulnerabilities in plugins that have been deeply ingrained in more complex projects, such as CRMs, CMSs, blogging platforms, or enterprise solutions.

Comment Re:Honesty vs Convienience (Score 1) 333

Well, you collected a bunch of things, and now suddenly the scanner stops working. You look around and suddenly you notice that there's nobody around. You could abandon the basket and go to another store, but that would take time and effort... Or you could "come back and pay tomorrow".

> West

You are in a maze of twisty little passages, all alike.

>

Comment Re:It's your own fault for purchasing Sony (Score 1) 312

If I purchase a PS3 second-hand for the sole intention of rooting the device to run whatever, how would the "System Software License Agreement for the PlayStation 3 System" apply to me?

Or are they implying that either the units are not resell-able or the second owner is not licensed to run the firmware it comes with? I see the first-sale doctrine preventing the first and actually invalidating any other implied license between Sony and the second owner.

If you buy the razor, how are you obligated to purchase blades from the same vendor (stupid connector patent schemes aside), rather than using it as a back scratcher?

Comment Re:Had time? (Score 1) 833

I haven't waded my way through more than a few before I realized I was supposed to be doing actual work instead of reading, but my comment is speculative of disclosing an agent in the field, comments fingering third-parties and general collateral damage.

I also agree with the reap-what-you-sow comment above, but I'm more interested in those third parties that may be caught in the cross-fire.

Comment Re:Had time? (Score 3, Insightful) 833

The real question is after many other countries digest the content, will there be any retaliation/action/bad stuff by the documented actors? Somehow I don't think foreign interests will give the US State Department a pass on this if it involves said interest.

I'm all for the "information wants to be free" mantra, but when it can come to a considerable cost to others, the disclosure can't wipe their hands completely of responsibility. Airing a politician's dirty laundry is one thing, but releasing documents that may have names of people that may be endangered unawares should be handled with some discretion.

I really don't like being on this side of the argument.. :-(

Comment Re:Skylab Shreds (Score 1) 344

How sure are we that the resulting data from this service is accurate? Is there a pattern between the times and resulting countries because they're mistakenly parsing the date/time of the log instead of the actual IP address? Or if they're only parsing every 40th entry maybe they're injecting bursts of "wrong" data as part of a trial?

I see no reason to jump to any conclusion as long as there may be doubt about the validity of the data you/we are looking at.

Slashdot Top Deals

God doesn't play dice. -- Albert Einstein

Working...