GHSA-2MXR-89GF-RC4V

Vulnerability from github – Published: 2020-03-30 20:09 – Updated: 2021-01-08 20:25
VLAI?
Summary
Read permissions not enforced for client provided filter expressions in Elide.
Details

Impact

It is possible for an adversary to "guess and check" the value of a model field they do not have access to assuming they can read at least one other field in the model. The adversary can construct filter expressions for an inaccessible field to filter a collection. The presence or absence of models in the returned collection can be used to reconstruct the value of the inaccessible field.

For example, a User model has two fields: name and role. The adversary has read permissions to see the name field of the User collection but not the role. By constructing a filter like the one below, the adversary can determine which users have admin role by presence or absence in the returned collection: filter=role=="Admin"

Patches

Resolved in Elide 4.5.14 and greater.

Workarounds

The adversary can only access the fields if a model includes fields with different read permission levels (some less secure and some more secure). Model security can be adjusted by restricting read permissions on existing models.

References

Fixed in https://github.com/yahoo/elide/pull/1236

For more information

If you have any questions or comments about this advisory: * Open an issue in elide * Contact us at spectrum

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "Maven",
        "name": "com.yahoo.elide:elide-core"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "4.5.14"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2020-5289"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-285"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2020-03-30T20:08:40Z",
    "nvd_published_at": null,
    "severity": "HIGH"
  },
  "details": "### Impact\nIt is possible for an adversary to \"guess and check\" the value of a model field they do not have access to assuming they can read at least one other field in the model.  The adversary can construct filter expressions for an inaccessible field to filter a collection.  The presence or absence of models in the returned collection can be used to reconstruct the value of the inaccessible field.\n\nFor example, a User model has two fields: _name_ and _role_.  The adversary has read permissions to see the _name_ field of the User collection but not the _role_.  By constructing a filter like the one below, the adversary can determine which users have admin role by presence or absence in the returned collection:\n`filter=role==\"Admin\"`\n\n### Patches\nResolved in Elide 4.5.14 and greater.\n\n### Workarounds\nThe adversary can only access the fields if a model includes fields with different read permission levels (some less secure and some more secure).  Model security can be adjusted by restricting read permissions on existing models.\n\n### References\nFixed in https://github.com/yahoo/elide/pull/1236\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [elide](https://github.com/yahoo/elide)\n* Contact us at [spectrum](https://spectrum.chat/elide?tab=posts)",
  "id": "GHSA-2mxr-89gf-rc4v",
  "modified": "2021-01-08T20:25:19Z",
  "published": "2020-03-30T20:09:58Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/yahoo/elide/security/advisories/GHSA-2mxr-89gf-rc4v"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-5289"
    },
    {
      "type": "WEB",
      "url": "https://github.com/yahoo/elide/pull/1236"
    },
    {
      "type": "WEB",
      "url": "https://github.com/yahoo/elide/pull/1236/commits/a985f0f9c448aabe70bc904337096399de4576dc"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "Read permissions not enforced for client provided filter expressions in Elide."
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…