The Node Security Project reports:
methodOverride Middleware Reflected Cross-Site Scripting
Connect is a stack of middleware that is executed in order in each request.
The "methodOverride" middleware allows the http post to override the method of
the request with the value of the "_method" post key or with the header
Because the user post input was not checked, req.method could contain any kind
of value. Because the req.method did not match any common method VERB, connect
answered with a 404 page containing the "Cannot [method] [url]" content. The
method was not properly encoded for output in the browser.
nodejs-connect 2.8.0 is vulnerable to this, an incomplete fix was applied,
version 2.8.1 is also vulnerable, versions 2.8.2 and later have been corrected.
Please note that the first attempt to fix this was not complete and requires a
First fix: https://github.com/senchalabs/connect/commit/277e5aad6a95d00f55571a9a0e11f2fa190d8135
Second fix: https://github.com/senchalabs/connect/commit/126187c4e12162e231b87350740045e5bb06e93a
The incomplete fix for this resulted in a second vulnerability referred to as
This issue affects the versions of nodejs-connect as shipped with Red Hat OpenShift Enterprise 2. Red Hat Product Security has rated this issue as having Moderate security impact. A future update may address this issue. For additional information, refer to the Issue Severity Classification: https://access.redhat.com/security/updates/classification/.