[Engineering] Parsoid Security Update and Release

Subramanya Sastry ssastry at wikimedia.org
Tue Nov 1 18:30:10 UTC 2016


The parsing team has fixed a security bug in Parsoid [1].

* Users could send invalid prefixes, formats, or domains and run
   javascript code on the error page that Parsoid displayed.

* This fix has been applied to the Wikimedia cluster [2] and also merged
   into Parsoid master [1].

* We have also released a 0.5.3 deb version with this patch applied. [3]

* We have also released a 0.5.3 npm version of Parsoid. [4]

* Parsoid is a stateless service and doesn't retain any state between
   requests. In private wikis, VisualEditor can be configured to
   forward the user cookie to Parsoid to pass along to the MediaWiki API
   to parse a page, but this exploit is not exposed through VE.

   In addition, Parsoid doesn't receive any user credentials on public 
wikis.

* However, if a wiki's Parsoid service is publicly accessible on the 
internet
   *and* is accessible through the wiki's domain, then, this exploit can be
   used to leak user cookies for that wiki. For all wikis that use Parsoid
   in this fashion, we recommend they patch their Parsoid installation
   immediately.

* On the Wikimedia cluster, Parsoid is proxied behind RESTBase and is
   not public accessible and as such, this exploit wasn't available for
   an exploit to steal user sessions.

Thanks to the reporter of this exploit, Darian Patrick from the Security 
Team,
Arlo Breault from the Parsing Team, Daniel Zahn and others from Ops for 
their
assistance handling this bug and preparing this release.

[1] https://gerrit.wikimedia.org/r/#/c/319115
[2] 
https://www.mediawiki.org/wiki/Parsoid/Deployments#Monday.2C_October_31.2C_2016_around_1:15_PT:_Y.C2.A0Deployed_e503e801
[3] https://releases.wikimedia.org/debian/pool/main/p/parsoid/
[4] https://www.npmjs.com/package/parsoid

Subramanya Sastry,
Technical Lead and Manager,
Parsing Team,
Wikimedia Foundation.




More information about the Engineering mailing list