Skip to content
This repository has been archived by the owner on Jan 29, 2023. It is now read-only.

Update dependency loopback to v2.42.0 [SECURITY] #26

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 24, 2021

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
loopback (source) 2.19.0 -> 2.42.0 age adoption passing confidence

GitHub Vulnerability Alerts

GHSA-8wgc-jjvv-cv6v

Vulnerable versions of loopback may allow attackers to create Authentication Tokens on behalf of other users due to Improper Authorization. If the AccessToken model is publicly exposed, an attacker can create Authorization Tokens for any user as long as they know the target's userId. This will allow the attacker to access the user's data and their privileges.

Recommendation

For loopback 2.x, upgrade to version 2.40.0 or later
For loopback 3.x, upgrade to version 3.22.0 or later

GHSA-724c-6vrf-99rq

Versions of loopback prior to 3.26.0 (3.x) and 2.42.0 (2.x) are vulnerable to Sensitive Data Exposure. Invalid API requests to the login endpoint may return information about the first user in the database. This can be used alongside other attacks for credential theft.

Recommendation

If you're using loopback 3.x upgrade to version 3.26.0 or later.
If you're using loopback 2.x upgrade to version 2.42.0 or later.


Release Notes

strongloop/loopback

v2.42.0

Compare Source

v2.41.2

Compare Source

v2.41.1

Compare Source

v2.41.0

Compare Source

v2.40.0

Compare Source

v2.39.2

Compare Source

v2.39.1

Compare Source

v2.39.0

Compare Source

v2.38.3

Compare Source

v2.38.2

Compare Source

v2.38.1: 2.38.1 (LTS)

Compare Source

loopback 2.38.1 (LTS)

Improve "filter" arg description

Add an example showing how to serialize object values as JSON.

Fix creation of verification links

Fix User.prototype.verify to call querystring.stringify instead of concatenating query-string components directly.

In particular, this fixes the bug where options.redirect containing a hash fragment like #/home?arg1=value1&arg2=value2 produced incorrect URL, because the redirect value was not correctly encoded.

Include link to docs in logoutSessions warning

Make it easy for people encountering the long warning about "logoutSessionsOnSensitiveChanges" to find the relevant information in our documentation.

Preserve sessions on User.save() making no changes

Fix session-invalidation code to correctly recognize the case when User.save() was called but neither password nor email was changed.

Modify the code detecting whether logoutSessionsOnSensitiveChanges is enabled to correctly handle the case when the model is not attached to any application, as is the case with loopback-component-passport tests.

Fix logout to handle missing or unknown accessToken

Return 401 when the request does not provide any accessToken argument or the token was not found.

Also simplify the implementation of the logout method to make only a single database call (deleteById) instead of findById + delete.

Role model: resolve related models by name

Resolve models related to the Role model by name instead of class instance. This allows to use localRegistry in app without monkeypatching Role manually.

When loading the Role model into a custom registry (e.g. by setting localRegistry to true when instantiating the app object), static roles can not be resolved because the RoleMapping model used inside static methods (e.g. Role.isInRole()) is loaded into a different registry (i.e. loopback) and thus not attached to any dataSource. The patch changed code resolving models related to the Role model to use model name instead of a global model constructor, which leads to them being resolved from the same registry that Role is loaded in as well.

Fix User methods to use correct Primary Key

Do not use hard-coded "id" property name, call idName() to get the name of the PK property.

strong-remoting 2.33.0 (LTS)

See https://github.com/strongloop/strong-remoting/releases/tag/v2.33.0

Enable remote methods to be disabled by alias

Fix disableMethodByName method to allow callers to specify one of method aliases instead of the "canonical" name. For example, disable the method removeById by calling disableMethodByName('destroyById').

Fix content-type reported by the built-in error handler

When a remote method sets a custom content-type (e.g. image/jpeg) and then fails, the content-type is reset back to application/json now, in order to match the body contents.

Convert object query params to JSON in outgoing requests

When invoking a remote method via strong-remoting, fix the code building query string parameters to correctly handle edge cases like a deeply-nested empty-array value.

Consider the following invocation:

Model.find({where: {id: {inq: []}}})

Before the fix, an empty argument value was sent.

strong-remoting is sending the correct argument value now.

loopback-datasource-juggler 2.54.1 (LTS)

See https://github.com/strongloop/loopback-datasource-juggler/releases/tag/v2.54.1

Fix datasource to report connector-loading errors

When resolving full connector path, all errors used to be ignored. As a result, when the connector was installed but not correctly built (e.g. loopback-connector-db2 which uses a native addon), a very confusing message was reported by LoopBack.

We fixed the code handling require() errors to ignore only MODULE_NOT_FOUND errors that contain the name of the required module.

v2.38.0

Compare Source

v2.37.1

Compare Source

v2.37.0

Compare Source

v2.36.2

Compare Source

v2.36.0

Compare Source

v2.35.0

Compare Source

v2.34.1

Compare Source

v2.34.0

Compare Source

v2.33.0

Compare Source

v2.32.0

Compare Source

v2.31.0

Compare Source

v2.30.0

Compare Source

v2.29.1

Compare Source

v2.29.0

Compare Source

v2.28.0

Compare Source

v2.27.0

Compare Source

v2.26.2

Compare Source

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

  • Fix bulkUpdate to not trigger rectifyAll (Amir Jafarian)

v2.26.1

Compare Source

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

  • PersistedModel: log rectify/rectifyAll triggers (Miroslav Bajtoš)

v2.26.0

Compare Source

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

  • change: skip cp lookup on no change (Miroslav Bajtoš)

  • Change: correctly rectify no-change (Miroslav Bajtoš)

  • Update model.js (Rand McKinney)

  • Adding properties description for User Model (David Cheung)

  • Add case-sensitve email option for User model. (Richard Pringle)

v2.25.0

Compare Source

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

  • Fix typo in description of persistedModel.updateAttributes() (Richard Pringle)

v2.23.0

Compare Source

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

  • lib/registry: fix findModel for model ctor (Miroslav Bajtoš)

  • Refer to licenses with a link (Sam Roberts)

  • Fix user.resetPassword to fail on email not found (Simo Moujami)

  • Fix typo in doc comment (Rand McKinney)

  • Do not include redundant ports in verify links (Samuel Gaus)

  • Set application's id property only if it's empty. (wusuopu)

  • Check configs for shared method settings (Simon Ho)

  • Add test fixtures for shared methods (Simon Ho)

  • Clean up .jshintrc (Simon Ho)

  • Update comment about user ACL to reflect implementation (Felipe Oliveira Carvalho)

v2.22.2

Compare Source

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

  • Use strongloop conventions for licensing (Sam Roberts)

  • Set package license to MIT (Sam Roberts)

v2.22.1

Compare Source

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

  • Fix perf of rectification after updateAttributes (Miroslav Bajtoš)

  • Update persisted-model.js (Rand McKinney)

  • Stop NPM license warning (Simon Ho)

v2.22.0

Compare Source

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

  • Create stack-removing errorhandler middleware (Richard Walker)

  • Update README.md (Rand McKinney)

  • Allow EJS templates to use includes (Samuel Gaus)

  • Fix options.to assertion message in user.verify (Farid Nouri Neshat)

  • Upgrade Travis to container-based infrastructure (Miroslav Bajtoš)

  • fix typo "PeristedModel" (Christoph)

v2.21.0

Compare Source

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

  • Add util methods to ACL and clean up related model resolutions (Raymond Feng)

  • Promisify 'PersistedModel - replication' (Pradnya Baviskar)

  • Promisify 'Application' model (Pradnya Baviskar)

v2.20.0

Compare Source

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

  • Allow methods filter for middleware config (Raymond Feng)

  • Don't load Bluebird for createPromiseCallback (Miroslav Bajtoš)

  • fix exit early when password is non-string closes #​1437 (Berkeley Martinez)

  • Promisify User model (Pradnya Baviskar)

  • Add missing . to user model property descriptions (Richard Walker)

v2.19.1

Compare Source

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

  • Disable application model test for karma (Raymond Feng)

  • Fix jsdocs for methods with where argument (Raymond Feng)

  • Add link to createChangeStream docs (Ritchie Martori)


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 has been generated by Mend Renovate. View repository job log here.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant