-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update dependency express to v4 [SECURITY] #2
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/npm-express-vulnerability
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
4 times, most recently
from
March 1, 2024 08:47
b36dcfe
to
2149f76
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v3 [SECURITY]
Mar 1, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
March 13, 2024 02:56
2149f76
to
987cfa3
Compare
renovate
bot
changed the title
Update dependency express to v3 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Mar 13, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
March 16, 2024 05:35
987cfa3
to
7dc54da
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v3 [SECURITY]
Mar 16, 2024
renovate
bot
changed the title
Update dependency express to v3 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Mar 21, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
2 times, most recently
from
March 23, 2024 08:51
ee7d9f8
to
3918934
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v3 [SECURITY]
Mar 23, 2024
renovate
bot
changed the title
Update dependency express to v3 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Mar 25, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
2 times, most recently
from
March 27, 2024 23:49
acc1ee6
to
fee9247
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v3 [SECURITY]
Mar 27, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
March 31, 2024 02:55
fee9247
to
056aab6
Compare
renovate
bot
changed the title
Update dependency express to v3 [SECURITY]
Update dependency express to v4 [SECURITY]
Mar 31, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
April 14, 2024 23:44
056aab6
to
9497821
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Apr 14, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
April 16, 2024 23:51
9497821
to
9e0ce14
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Apr 16, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
April 23, 2024 02:40
9e0ce14
to
e9ae2c1
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Apr 23, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
April 24, 2024 23:23
e9ae2c1
to
7f9d2df
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Apr 24, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
April 27, 2024 08:52
7f9d2df
to
9f127e0
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Apr 27, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
April 28, 2024 11:57
9f127e0
to
2543d91
Compare
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
June 28, 2024 02:55
b7bc8bb
to
964ae46
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Jun 28, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
June 29, 2024 08:38
964ae46
to
8121a2c
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Jun 29, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
July 14, 2024 23:42
8121a2c
to
b454d02
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Jul 14, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
July 15, 2024 05:41
b454d02
to
3045710
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Jul 15, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
July 23, 2024 23:32
3045710
to
1b9a9ce
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Jul 23, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
July 24, 2024 20:54
1b9a9ce
to
9662473
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Jul 24, 2024
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Jul 29, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
2 times, most recently
from
July 30, 2024 05:04
330c5ba
to
7055472
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Jul 30, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
September 22, 2024 08:53
7055472
to
791e857
Compare
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
October 10, 2024 04:44
791e857
to
4e0d235
Compare
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Oct 10, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
October 13, 2024 10:39
4e0d235
to
e2eea3b
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Oct 13, 2024
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Oct 20, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
2 times, most recently
from
October 21, 2024 05:01
7beee71
to
6f9902e
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Oct 21, 2024
renovate
bot
changed the title
Update dependency express to v4 [SECURITY]
Pin dependency express to 2.5.11 [SECURITY]
Oct 30, 2024
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
October 30, 2024 20:38
6f9902e
to
0b1e368
Compare
renovate
bot
force-pushed
the
renovate/npm-express-vulnerability
branch
from
November 1, 2024 05:16
0b1e368
to
4283398
Compare
renovate
bot
changed the title
Pin dependency express to 2.5.11 [SECURITY]
Update dependency express to v4 [SECURITY]
Nov 1, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~2.5.9
->~4.20.0
GitHub Vulnerability Alerts
CVE-2014-6393
Vulnerable versions of express do not specify a charset field in the content-type header while displaying 400 level response messages. The lack of enforcing user's browser to set correct charset, could be leveraged by an attacker to perform a cross-site scripting attack, using non-standard encodings, like UTF-7.
Recommendation
For express 3.x, update express to version 3.11 or later.
For express 4.x, update express to version 4.5 or later.
CVE-2024-29041
Impact
Versions of Express.js prior to 4.19.2 and pre-release alpha and beta versions before 5.0.0-beta.3 are affected by an open redirect vulnerability using malformed URLs.
When a user of Express performs a redirect using a user-provided URL Express performs an encode using
encodeurl
on the contents before passing it to thelocation
header. This can cause malformed URLs to be evaluated in unexpected ways by common redirect allow list implementations in Express applications, leading to an Open Redirect via bypass of a properly implemented allow list.The main method impacted is
res.location()
but this is also called from withinres.redirect()
.Patches
expressjs/express@0867302
expressjs/express@0b74695
An initial fix went out with
[email protected]
, we then patched a feature regression in4.19.1
and added improved handling for the bypass in4.19.2
.Workarounds
The fix for this involves pre-parsing the url string with either
require('node:url').parse
ornew URL
. These are steps you can take on your own before passing the user input string tores.location
orres.redirect
.References
https://github.com/expressjs/express/pull/5539
https://github.com/koajs/koa/issues/1800
https://expressjs.com/en/4x/api.html#res.location
CVE-2024-43796
Impact
In express <4.20.0, passing untrusted user input - even after sanitizing it - to
response.redirect()
may execute untrusted codePatches
this issue is patched in express 4.20.0
Workarounds
users are encouraged to upgrade to the patched version of express, but otherwise can workaround this issue by making sure any untrusted inputs are safe, ideally by validating them against an explicit allowlist
Details
successful exploitation of this vector requires the following:
Release Notes
expressjs/express (express)
v4.20.0
Compare Source
==========
depth
option to customize the depth level in the parserdepth
level for parsing URL-encoded data is now32
(previously wasInfinity
)res.redirect
\
,|
, and^
to align better with URL specoptions.maxAge
andoptions.expires
tores.clearCookie
v4.19.2
Compare Source
==========
v4.19.1
Compare Source
==========
v4.19.0
Compare Source
v4.18.3
Compare Source
==========
v4.18.2
Compare Source
===================
v4.18.1
Compare Source
===================
v4.18.0
Compare Source
===================
res.download
options
withoutfilename
inres.download
res.status
null
/undefined
asmaxAge
inres.cookie
Object.prototype
values in settings throughapp.set
/app.get
default
with same arguments as types inres.format
res.send
http-errors
forres.format
errorstrict
priority
optionexpires
option to reject invalid dateseval
usage withFunction
constructorprocess
to check for listeners425 Unordered Collection
to standard425 Too Early
v4.17.3
Compare Source
===================
__proto__
keysv4.17.2
Compare Source
===================
undefined
inres.jsonp
undefined
when"json escape"
is enabledRegExp
sres.jsonp(obj, status)
deprecation messageres.is
JSDocmaxAge
option to reject invalid valuesreq.socket
over deprecatedreq.connection
v4.17.1
Compare Source
===================
null
/undefined
tores.status
"v4.17.0
Compare Source
===================
express.raw
to parse bodies intoBuffer
express.text
to parse bodies into stringres.sendFile
null
/undefined
tores.status
X-Forwarded-Host
pb
) supportSameSite=None
supportContent-Security-Policy
headerpath.normalize
call103 Early Hints
throw
on invalid typev4.16.4
Compare Source
===================
"Request aborted"
may be logged inres.sendfile
Router
constructorv4.16.3
Compare Source
===================
%
as last characterv4.16.2
Compare Source
===================
TypeError
inres.send
when givenBuffer
andETag
header setX-Forwarded-Proto
headerv4.16.1
Compare Source
===================
root
is incorrectly set to a filev4.16.0
Compare Source
===================
"json escape"
setting forres.json
andres.jsonp
express.json
andexpress.urlencoded
to parse bodiesoptions
argument tores.download
Buffer
encoding when not generating ETag for small responsesafe-buffer
for improved Buffer APIres.headersSent
when availableRegExp
X-Forwarded-For
X-Forwarded-For
headerimmutable
option</html>
in default error & redirectsimmutable
option.charset
set inres.jsonp
v4.15.5
Compare Source
===================
If-None-Match
token parsingIf-Match
token parsingv4.15.4
Compare Source
===================
Buffer
loadingv4.15.3
Compare Source
===================
res.set
cannot add charset toContent-Type
DEBUG_MAX_ARRAY_LENGTH
</html>
in HTML documentv4.15.2
Compare Source
===================
[
v4.15.1
Compare Source
===================
Date.parse
does not returnNaN
on invalid dateDate.parse
does not returnNaN
on invalid datev4.15.0
Compare Source
===================
next("router")
to exit from routerrouter.use
skipped requests routes did notres._headers
private fieldreq.url
is not set%o
in path debug to tell types apartObject.create
to setup request & response prototypessetprototypeof
module to replace__proto__
settingstatuses
instead ofhttp
module for status messagesDEBUG_FD
environment variable set to3
or highererr
cannot be converted to a stringContent-Security-Policy: default-src 'self'
headerno-cache
request directiveIf-None-Match
has both*
and ETagsETag
matching to match specIf-None-Match
when noETag
headerDate.parse
instead ofnew Date
no-cache
request directiveIf-None-Match
has both*
and ETagsETag
matching to match specres._headers
private fieldIf-Match
andIf-Unmodified-Since
headersres.getHeaderNames()
when availableres.headersSent
when availableno-cache
request directiveIf-None-Match
has both*
and ETagsETag
matching to match specres._headers
private fieldIf-Match
andIf-Unmodified-Since
headersres.getHeaderNames()
when availableres.headersSent
when available*
routereq.ips
performancev4.14.1
Compare Source
===================
err.headers
is not an objectv4.14.0
Compare Source
===================
acceptRanges
option tores.sendFile
/res.sendfile
cacheControl
option tores.sendFile
/res.sendfile
options
argument toreq.range
combine
optionres.location
/res.redirect
if not already encodedres.sendFile
/res.sendfile
req.get()
res.json
/res.jsonp
in most casesRange
header handling inres.sendFile
/res.sendfile
Accept
parsingAccept
parameters with quoted equalsAccept
parameters with quoted semicolonssameSite
optionMax-Age
to never be a floating point numberencode
is not a functionexpires
is not aDate
serialize
err.statusCode
iferr.status
is invaliderr.headers
objectstatuses
instead ofhttp
module for status messagesdecoder
option inparse
functioncombine
option to combine overlapping rangesacceptRanges
optioncacheControl
optionStream
classContent-Range
header in 416 responses when usingstart
/end
optionsContent-Range
header missing from default 416 responsespath
contains raw non-URL characterspath
starts with multiple forward slashesRange
headersacceptRanges
optioncacheControl
optionreq.url
contains raw non-URL charactersRange
headersfield
argumentv4.13.4
Compare Source
===================
serialize
v4.13.3
Compare Source
===================
mergeParams: true
req.params
v4.13.2
Compare Source
===================
v4.13.1
Compare Source
===================
hasOwnProperty
v4.13.0
Compare Source
===================
res.format
error when onlydefault
providednext('route')
inapp.param
would incorrectly skip valuesdecodeURIComponent
URIError
s are a 400*
before params in routesres.cookie
to callres.append
array-flatten
module for flattening arraysstatusCode
property onError
objectsunpipe
module for unpiping requestsETag
matching supportCONNECT
requestsUpgrade
requestsDate
response headerContent-Location
on 304 responsehttp-errors
for standard emitted errorsstatuses
instead ofhttp
module for status messagesfallthrough
optionnext()
instead of 400app.render
try blockView
http.STATUS_CODES
v4.12.4
Compare Source
===================
fs
isFinished(req)
when data bufferedconstructor
v4.12.3
Compare Source
===================
hasOwnProperty
is presentextensions
orindex
optionsv4.12.2
Compare Source
===================
"Request aborted"
is logged usingres.sendFile
v4.12.1
Compare Source
===================
ECONNRESET
errors fromres.sendFile
usagereq.host
when using "trust proxy" hops countreq.protocol
/req.secure
when using "trust proxy" hops countcode
on aborted connections fromres.sendFile
v4.12.0
Compare Source
===================
"trust proxy"
setting to inherit when app is mountedETag
s for all request responsesGET
andHEAD
requestscontent-type
to parseContent-Type
headersoptions
hasBody
Transfer-Encoding
check*/*
)v4.11.2
Compare Source
===================
res.redirect
double-callingres.end
forHEAD
requestsv4.11.1
Compare Source
===================
v4.11.0
Compare Source
===================
res.append(field, val)
to append headers:
inname
forapp.param(name, fn)
req.param()
-- usereq.params
,req.body
, orreq.query
insteadapp.param(fn)
OPTIONS
responses to include theHEAD
method properlyres.sendFile
not always detecting aborted connectionv4.10.8
Compare Source
===================
OPTIONS
response handlerv4.10.7
Compare Source
===================
Allow
header forOPTIONS
to not contain duplicate methodsres.sendFile
whenHEAD
or 304v4.10.6
Compare Source
===================
req.fresh
/req.stale
without response headersv4.10.5
Compare Source
===================
res.send
double-callingres.end
forHEAD
requestsv4.10.4
Compare Source
===================
res.sendfile
logging standard write errorsv4.10.3
Compare Source
===================
res.sendFile
logging standard write errorsarrayLimit
behaviorv4.10.2
Compare Source
===================
v4.10.1
Compare Source
===================
://
in the pathv4.10.0
Compare Source
===================
app.set('views', array)
res.send(status)
to mentionres.sendStatus(status)
content-disposition
module forres.attachment
/res.download
Content-Disposition
headerpath.resolve
in view lookupDEBUG_FD
env variable supporton-finished
to determine request statusv4.9.8
Compare Source
==================
res.redirect
body when redirect status specifiedv4.9.7
Compare Source
==================
v4.9.6
Compare Source
==================
v4.9.5
Compare Source
==================
forwarded
npm modulev4.9.4
Compare Source
==================
v4.9.3
Compare Source
==================
v4.9.2
Compare Source
==================
path
inapp.use
router.use
to accept array of middleware without pathapp.use
argumentsv4.9.1
Compare Source
==================
app.use
to accept array of middleware without pathv4.9.0
Compare Source
==================
res.sendStatus
res.sendFile
,res.sendfile
, andres.download
err
will be populated with request aborted errorreq.subdomains
etag
to generateETag
headersmime-types
X-Content-Type-Options: nosniff
headerlastModified
optionetag
to generateETag
headerlastModified
optionhasbody
to be true forcontent-length: 0
Vary
header string asfield
v4.8.8
Compare Source
==================
root
v4.8.7
Compare Source
==================
v4.8.6
Compare Source
==================
v4.8.5
Compare Source
==================
v4.8.4
Compare Source
==================
fd
leak in Node.js 0.10 forfs.ReadStream
v4.8.3
Compare Source
==================
req.originalUrl
valuesv4.8.2
Compare Source
==================
v4.8.1
Compare Source
==================
res.download
v4.8.0
Compare Source
==================
res.sendFile
root
option specifiedres.sendfile
-- useres.sendFile
insteadapp.use()
extensions
optionextensions
optionv4.7.4
Compare Source
==================
res.sendfile
regression for serving directory index filesv4.7.3
Compare Source
==================
v4.7.2
Compare Source
==================
v4.7.1
Compare Source
==================
Error.stackTraceLimit
is too lowv4.7.0
Compare Source
==================
req.protocol
for proxy-direct connectionsapp.set('query parser', parser)
app.set('query parser', 'extended')
parse with "qs" moduleapp.set('query parser', 'simple')
parse with "querystring" core moduleapp.set('query parser', false)
disable query string parsingapp.set('query parser', true)
enable simple parsingres.json(status, obj)
-- useres.status(status).json(obj)
insteadres.jsonp(status, obj)
-- useres.status(status).jsonp(obj)
insteadres.send(status, body)
-- useres.status(status).send(body)
insteadTRACE_DEPRECATION
environment variable--no-deprecation
argument--trace-deprecation
argumentRegExp
dotfiles
optionmaxAge
value to 1 yearBuffer
creation inres.send
v4.6.1
Compare Source
==================
subapp.mountpath
regression forapp.use(subapp)
v4.6.0
Compare Source
==================
app.use()
req.param(name, fn)
handlersres.redirect(url, status)
-- useres.redirect(status, url)
insteadres.send(status, num)
to sendnum
as json (not error)res.jsonp
returns JSON responsepath
inapp.use(path, fn)
RegExp
try
blocksapp.use(fn)
CONNECT
res
methodsv4.5.1
Compare Source
==================
req.method
v4.5.0
Compare Source
==================
req.accepts*
res.send(body, status)
res.vary()
headers
option tores.sendfile
mergeParams
option toRouter
req.params
from parent routesreq.hostname
-- correct name for whatreq.host
returnsdepd
modulereq.host
-- usereq.hostname
insteadroute.all
is only routerouter.param()
only when route matchesreq.params
after invoking routerfinalhandler
for final response handlingmedia-typer
to alter content-type charsetmaxage
(converted byms
)maxAge
(converted byms
)setHeaders
optionv4.4.5
Compare Source
==================
Configuration
📅 Schedule: Branch creation - "" in timezone America/Vancouver, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.