blob: 58828baf3ba08083c6e35ef37462a4827360757b [file] [log] [blame]
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>October 2013 ngx_pagespeed Security Update.</title>
<link rel="stylesheet" href="doc.css">
</head>
<body>
<!--#include virtual="_header.html" -->
<div id=content>
<h1>October 2013 ngx_pagespeed Security Update.</h1>
<h2 id="overview">Overview</h2>
<p>
All versions of ngx_pagespeed prior to 1.6.29.7 are subject to critical
cross-site scripting (XSS) vulnerability CVE-2013-6111. Depending on
configuration this may permit a hostile third party to execute JavaScript in
users' browsers in the context of the domain running ngx_pagespeed, which could
permit theft of users' cookies or data on the site.
</p>
<p>
Because of the severity of the problem, users of affected versions are
<strong>strongly</strong> encouraged to <strong>immediately</strong> update
ngx_pagespeed or apply the workaround below.
</p>
<p>
To be notified of further security updates subscribe to the
<a href="mailing-lists#announcements">announcements mailing list</a>.
</p>
<h2 id="solutions">Solutions</h2>
<p>
Users of affected versions should either apply the workaround or update to
version 1.6.29.7 or later.
</p>
<h3 id="workaround">Workaround</h3>
<p>
The vulnerability requires access to <code>/ngx_pagespeed_statistics</code>,
<code>/ngx_pagespeed_global_statistics</code>, or
<code>/ngx_pagespeed_message</code>. Prohibiting access to these in
your <code>nginx.conf</code> is sufficient to keep it from being exploited.
Note that it is not enough to restrict these pages to trusted users; they must
not be accessible to anyone. Example workaround configuration:
<pre>
location /ngx_pagespeed_statistics { deny all; }
location /ngx_pagespeed_global_statistics { deny all; }
location /ngx_pagespeed_message { deny all; }
</pre>
</p>
<p>
While ngx_pagespeed and mod_pagespeed are very similar, this workaround is not
sufficient for mod_pagespeed. If you also run PageSpeed in Apache please follow
the recommendations in the <a href="announce-sec-update-201310">October 2013
mod_pagespeed Security Update</a>.
</p>
<h3 id="update">Update</h3>
<p>
Users unable to apply the workaround, or who want continued access to the
informational data provided by <code>/ngx_pagespeed_statistics</code>
or <code>/ngx_pagespeed_message</code> should update to an unaffected version.
This requires building nginx with the updated ngx_pagespeed module and
installing it in place of the current version. See
the <a href="https://github.com/pagespeed/ngx_pagespeed#how-to-build">build
instructions</a>.
</p>
<p>
Users having difficulty applying these updates or with other questions should
write to the <a href="mailing-lists#discussion">discussion group</a>.
</div>
<!--#include virtual="_footer.html" -->
</body>
</html>