It may be possible to have an extremely long aggregation pipeline in conjunction with a specific stage/operator and cause a stack overflow due to the size of the stack frames used by that stage. If an attacker could cause such an aggregation to occur, they could maliciously crash MongoDB in a DoS attack. This vulnerability affects MongoDB Server v4.4 versions prior to and including 4.4.28, MongoDB Server v5.0 versions prior to 5.0.4 and MongoDB Server v4.2 versions prior to 4.2.16. Workaround: >= v4.2.16 users and all v4.4 users can add the --setParameter internalPipelineLengthLimit=50 instead of the default 1000 to mongod at startup to prevent a crash.
Workaround:
A stack-based buffer overflow condition is a condition where the buffer being overwritten is allocated on the stack (i.e., is a local variable or, rarely, a parameter to a function).
The product writes data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://jira.mongodb.org/browse/SERVER-58203 | issue tracking patch vendor advisory |
https://jira.mongodb.org/browse/SERVER-59299 | issue tracking patch vendor advisory |
https://jira.mongodb.org/browse/SERVER-60218 | issue tracking patch vendor advisory |
https://security.netapp.com/advisory/ntap-20220609-0005/ | third party advisory |