express-rate-limit is a basic rate-limiting middleware for Express. From 8.6.0 until 8.7.2, the built-in MemoryStore returns a Client whose mutable resetTime object is retained by middleware using skipFailedRequests or skipSuccessfulRequests. When a later request resets the client window, MemoryStore.resetClient mutates that same Date, so an earlier request that finishes or disconnects after the reset can pass the stale-window guard and decrement the current window's count. A client able to keep requests in flight across the boundary can obtain a bounded extra burst of up to one additional configured limit in the new window; the behavior does not increase the sustained rate. Stores that return a fresh Date are not affected. This issue is fixed in version 8.7.2.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-682"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/126xxx/CVE-2026-126204.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "8.6.0"
},
{
"fixed": "8.7.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "da5b115b97dd903076d37b19437fbd71445e150b"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v8.7.2",
"range": [
{
"fixed": "3fa4577b3acbe4cc2732e19f14d81ccb963445d6"
}
],
"source": "REFERENCES_TAG"
}
]
}