Skip to content
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 mongoose to v6.13.6 [SECURITY] #180

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 1, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
mongoose (source) 6.2.10 -> 6.13.6 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2022-2564

Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Affected versions of this package are vulnerable to Prototype Pollution. The Schema.path() function is vulnerable to prototype pollution when setting the schema object. This vulnerability allows modification of the Object prototype and could be manipulated into a Denial of Service (DoS) attack.

CVE-2023-3696

Prototype Pollution in GitHub repository automattic/mongoose prior to 7.3.3, 6.11.3, and 5.13.20.

CVE-2022-24304

Description

Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.

Affected versions of this package are vulnerable to Prototype Pollution. The Schema.path() function is vulnerable to prototype pollution when setting the schema object. This vulnerability allows modification of the Object prototype and could be manipulated into a Denial of Service (DoS) attack.

Proof of Concept

// poc.js
const mongoose = require('mongoose');
const schema = new mongoose.Schema();

malicious_payload = '__proto__.toString'

schema.path(malicious_payload, [String])

x = {}
console.log(x.toString()) // crashed (Denial of service (DoS) attack)

Impact

This vulnerability can be manipulated to exploit other types of attacks, such as Denial of service (DoS), Remote Code Execution, or Property Injection.

CVE-2024-53900

Mongoose versions prior to 8.8.3, 7.8.3, and 6.13.5 are vulnerable to improper use of the $where operator. This vulnerability arises from the ability of the $where clause to execute arbitrary JavaScript code in MongoDB queries, potentially leading to code injection attacks and unauthorized access or manipulation of database data.

CVE-2025-23061

Mongoose versions prior to 8.9.5, 7.8.4, and 6.13.6 are vulnerable to improper use of the $where operator. This vulnerability arises from the ability of the $where clause to execute arbitrary JavaScript code in MongoDB queries, potentially leading to code injection attacks and unauthorized access or manipulation of database data.

NOTE: this issue exists because of an incomplete fix for CVE-2024-53900.


Release Notes

Automattic/mongoose (mongoose)

v6.13.6

Compare Source

===================

v6.13.5

Compare Source

v6.13.4

Compare Source

v6.13.3

Compare Source

v6.13.2

Compare Source

===================

  • fix(document): make set() respect merge option on deeply nested objects #​14870 #​14878

v6.13.1

Compare Source

v6.13.0

Compare Source

v6.12.9

Compare Source

v6.12.8

Compare Source

===================

  • fix(document): handle virtuals that are stored as objects but getter returns string with toJSON #​14468 #​14446
  • fix(schematype): consistently set wasPopulated to object with value property rather than boolean #​14418
  • docs(model): add extra note about lean option for insertMany() skipping casting #​14415 #​14376

v6.12.7

Compare Source

v6.12.6

Compare Source

v6.12.5

Compare Source

v6.12.4

Compare Source

v6.12.3

Compare Source

v6.12.2

Compare Source

v6.12.1

Compare Source

v6.12.0

Compare Source

===================

  • feat: use mongodb driver v4.17.1
  • fix(model): make Model.bulkWrite() with empty array and ordered false not throw an error #​13664
  • fix(document): correctly handle inclusive/exclusive projections when applying subdocument defaults #​13763 #​13720

v6.11.6

Compare Source

===================

v6.11.5

Compare Source

===================

  • fix(schema): make Schema.prototype.clone() avoid creating different copies of subdocuments and single nested paths underneath single nested paths #​13671 #​13626
  • fix: custom debug function not processing all args #​13418

v6.11.4

Compare Source

===================

  • perf: speed up mapOfSubdocs benchmark by 4x by avoiding unnecessary O(n^2) loop in getPathsToValidate() #​13614

7.3.4 / 2023-07-12

  • chore: release 7.4.4 to overwrite accidental publish of 5.13.20 to latest tag

v6.11.3

Compare Source

===================

  • fix: avoid prototype pollution on init
  • fix(schema): correctly handle uuids with populate() #​13317 #​13595

v6.11.2

Compare Source

===================

v6.11.1

Compare Source

===================

  • fix(query): apply schema-level paths before calculating projection for findOneAndUpdate() #​13348 #​13340
  • fix: add SUPPRESS_JEST_WARNINGS environment variable to hide jest warnings #​13384 #​13373
  • types(model): allow overwriting expected param type for bulkWrite() #​13292 hasezoey

v6.11.0

Compare Source

===================

v6.10.5

Compare Source

===================

  • perf(document): avoid unnecessary loops, conditionals, string manipulation on Document.prototype.get() for 10x speedup on top-level properties #​12953
  • fix(model): execute valid write operations if calling bulkWrite() with ordered: false #​13218 #​13176
  • fix(array): pass-through all parameters #​13202 #​13201 hasezoey
  • fix: improve error message when sorting by empty string #​13249 #​10182
  • docs: add version support and check version docs #​13251 #​13193

v6.10.4

Compare Source

===================

  • fix(document): apply setters on resulting value when calling Document.prototype.$inc() #​13178 #​13158
  • fix(model): add results property to unordered insertMany() to make it easy to identify exactly which documents were inserted #​13163 #​12791
  • docs(guide+schematypes): add UUID to schematypes guide #​13184

v6.10.3

Compare Source

===================

v6.10.2

Compare Source

===================

  • fix(document): avoid setting array default if document array projected out by sibling projection #​13135 #​13043 #​13003
  • fix(documentarray): set correct document array path if making map of document arrays #​13133
  • fix: undo accidental change to engines in package.json #​13124 lorand-horvath
  • docs: quick improvement to Model.init() docs #​13054

v6.10.1

Compare Source

===================

v6.10.0

Compare Source

===================

v6.9.3

Compare Source

==================

v6.9.2

Compare Source

==================

v6.9.1

Compare Source

==================

  • fix(document): isModified should not be triggered when setting a nested boolean to the same value as previously #​12994 lpizzinidev
  • fix(document): save newly set defaults underneath single nested subdocuments #​13002 #​12905
  • fix(update): handle custom discriminator model name when casting update #​12947 wassil
  • fix(connection): handles unique autoincrement ID for connections #​12990 lpizzinidev
  • fix(types): fix type of options of Model.aggregate #​12933 ghost91-
  • fix(types): fix "near" aggregation operator input type #​12954 Jokero
  • fix(types): add missing Top operator to AccumulatorOperator type declaration #​12952 lpizzinidev
  • docs(transactions): added example for Connection.transaction() method #​12943 #​12934 lpizzinidev
  • docs(populate): fix out of date comment referencing onModel property #​13000
  • docs(transactions): fix typo in transactions.md #​12995 Parth86

v6.9.0

Compare Source

==================

v6.8.4

Compare Source

==================

v6.8.3

Compare Source

==================

  • perf: improve performance of assignRawDocsToIdStructure for faster populate on large docs #​12867 Uzlopak
  • fix(model): ensure consistent ordering of validation errors in insertMany() with ordered: false and rawResult: true #​12866
  • fix: avoid passing final callback to pre hook, because calling the callback can mess up hook execution #​12836
  • fix(types): avoid inferring timestamps if methods, virtuals, or statics set #​12871
  • fix(types): correctly infer string enums on const arrays #​12870 JavaScriptBach
  • fix(types): allow virtuals to be invoked in the definition of other virtuals #​12874 sffc
  • fix(types): add type def for Aggregate#model without arguments #​12864 hasezoey
  • docs(discriminators): add section about changing discriminator key #​12861
  • docs(typescript): explain that virtuals inferred from schema only show up on Model, not raw document type #​12860 #​12684

v6.8.2

Compare Source

==================

  • fix(schema): propagate strictQuery to implicitly created schemas for embedded discriminators #​12827 #​12796
  • fix(model): respect discriminators with Model.validate() #​12824 #​12621
  • fix(query): fix unexpected validation error when doing findOneAndReplace() with a nullish value #​12826 #​12821
  • fix(discriminator): apply built-in plugins to discriminator schema even if mergeHooks and mergePlugins are both false #​12833 #​12696
  • fix(types): add option "overwriteModels" as a schema option #​12817 #​12816 hasezoey
  • fix(types): add property "defaultOptions" #​12818 hasezoey
  • docs: make search bar respect documentation version, so you can search 5.x docs #​12548
  • docs(typescript): make note about recommending strict mode when using auto typed schemas #​12825 #​12420
  • docs: add section on sorting to query docs #​12588 IslandRhythms
  • test(query.test): add write-concern option #​12829 hasezoey

v6.8.1

Compare Source

==================

v6.8.0

Compare Source

==================

v6.7.5

Compare Source

==================

v6.7.4

Compare Source

==================

v6.7.3

Compare Source

v6.7.2

Compare Source

v6.7.1

Compare Source

==================

v6.7.0

Compare Source

v6.6.7

Compare Source

==================

v6.6.6

Compare Source

==================

v6.6.5

Compare Source

v6.6.4

Compare Source

v6.6.3

Compare Source

==================

v6.6.2

Compare Source

v6.6.1

Compare Source

==================

  • fix: correctly apply defaults after subdoc init #​12328
  • fix(array): avoid using default _id when using pull() #​12294
  • fix: allow null values inside $expr objects #​12429 MartinDrost
  • fix(query): use correct Query constructor when cloning query #​12418
  • docs(website): remove setting "latest38x" which is not used anywhere #​12396 hasezoey

v6.6.0

Compare Source

==================

v6.5.5

Compare Source

==================

  • fix(setDefaultsOnInsert): avoid applying defaults on insert if nested property set #​12279
  • fix(model): make applyHooks() and applyMethods() handle case where custom method is set to Mongoose implementation #​12254
  • fix(types): add string "ascending" and "descending" index-directions #​10269
  • docs: upgrade dox to 1.0.0 #​12403 hasezoey
  • docs: update old mongodb nodejs driver documentation urls #​12387 hasezoey
  • docs: update JSDOC ... (spread) definition #​12388 hasezoey
  • refactor(model): allow optionally passing indexes to createIndexes and cleanIndexes #​12280 AbdelrahmanHafez

v6.5.4

Compare Source

==================

  • fix(document): allow calling $assertPopulated() with values to better support manual population #​12233
  • fix(connection+mongoose): better handling for calling model() with 1 argument #​12359
  • fix(model): allow defining discriminator virtuals and methods using schema options #​12326
  • fix(types): fix MongooseQueryMiddleware missing "findOneAndReplace" and "replaceOne" #​12330 #​12329 Jule- lpizzinidev
  • fix(types): fix replaceOne return type #​12351 lpizzinidev
  • fix(types): use this for return type from $assertPopulated() #​12234
  • docs: highlight how to connect using auth in README #​12354 AntonyOnScript
  • docs: improve jsdoc comments for private methods #​12337 hasezoey
  • docs: fix minor typo in compatibility table header #​12355 skyme5

v6.5.3

Compare Source

==================

  • fix(document): handle maps when applying defaults to nested paths #​12322
  • fix(schema): make ArraySubdocuments apply _id defaults on init #​12264
  • fix(populate): handle specifying recursive populate as a string with discriminators #​12266
  • perf(types): remove extends Query in Schema.pre() and Schema.post(), loosen discriminator() generic #​10349
  • perf(types): some more micro-optimizations re: #​10349, remove extra type checking on

Configuration

📅 Schedule: Branch creation - "" (UTC), 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies label Feb 1, 2023
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from cf01cc9 to 234ad85 Compare February 4, 2023 14:26
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 5 times, most recently from 947550e to 882f405 Compare February 21, 2023 09:40
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 44d8136 to d8ddfc4 Compare February 26, 2023 17:06
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from d8ddfc4 to 8f03c23 Compare March 7, 2023 07:17
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 5 times, most recently from 775798d to 588131c Compare March 21, 2023 15:06
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 588131c to a3f7732 Compare April 3, 2023 09:03
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 6e3b4e9 to dc05bd5 Compare April 18, 2023 08:44
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 3 times, most recently from e7aa8fd to d6c7ed1 Compare May 4, 2023 08:14
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from d6c7ed1 to 237ad64 Compare May 8, 2023 15:08
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 237ad64 to 4bf79fe Compare May 16, 2023 05:35
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 0192bb5 to 985d91f Compare June 4, 2023 10:55
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 74b0629 to 3dbf4b8 Compare June 18, 2023 08:28
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 3dbf4b8 to 273324b Compare June 29, 2023 10:36
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 273324b to 3d4a159 Compare July 6, 2023 11:20
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from a64ed5a to c28873f Compare December 3, 2023 09:29
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 64ee43f to b1781a9 Compare February 4, 2024 11:44
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from b1781a9 to 257d5e4 Compare February 25, 2024 10:24
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 257d5e4 to b07a50d Compare March 12, 2024 10:31
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 50f9796 to e7fe6af Compare March 24, 2024 14:08
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 4936938 to 1a62011 Compare April 21, 2024 09:19
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 1a62011 to bae4ad6 Compare June 4, 2024 12:51
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from bae4ad6 to d578a26 Compare July 21, 2024 13:27
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from d578a26 to 80d5fa7 Compare August 6, 2024 06:16
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 80d5fa7 to 24209f8 Compare August 28, 2024 07:47
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 24209f8 to daa875a Compare October 9, 2024 11:19
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch 2 times, most recently from 556022f to d8d2faa Compare December 3, 2024 06:34
@renovate renovate bot changed the title Update dependency mongoose to v6.11.3 [SECURITY] Update dependency mongoose to v8 [SECURITY] Dec 3, 2024
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from d8d2faa to b343b02 Compare December 4, 2024 20:28
@renovate renovate bot changed the title Update dependency mongoose to v8 [SECURITY] Update dependency mongoose to v6.11.3 [SECURITY] Dec 4, 2024
@renovate renovate bot changed the title Update dependency mongoose to v6.11.3 [SECURITY] Update dependency mongoose to v6.13.5 [SECURITY] Dec 5, 2024
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from b343b02 to df69bf4 Compare January 17, 2025 01:46
@renovate renovate bot changed the title Update dependency mongoose to v6.13.5 [SECURITY] Update dependency mongoose to v8 [SECURITY] Jan 17, 2025
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from df69bf4 to 8aeacb0 Compare January 19, 2025 08:32
@renovate renovate bot changed the title Update dependency mongoose to v8 [SECURITY] Update dependency mongoose to v6.13.6 [SECURITY] Jan 19, 2025
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 8aeacb0 to 21dd79b Compare January 23, 2025 17:02
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 21dd79b to 165da14 Compare February 1, 2025 21:30
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 165da14 to 376d591 Compare February 9, 2025 12:52
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from 376d591 to cb86d00 Compare March 3, 2025 15:45
@renovate renovate bot force-pushed the renovate/npm-mongoose-vulnerability branch from cb86d00 to fe7e03e Compare March 11, 2025 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants