GSD-2018-16477

Vulnerability from gsd - Updated: 2018-11-27 00:00
Details
There is a vulnerability in Active Storage. This vulnerability has been assigned the CVE identifier CVE-2018-16477. Versions Affected: >= 5.2.0 Not affected: < 5.2.0 Fixed Versions: 5.2.1.1 Impact ------ Signed download URLs generated by `ActiveStorage` for Google Cloud Storage service and Disk service include `content-disposition` and `content-type` parameters that an attacker can modify. This can be used to upload specially crafted HTML files and have them served and executed inline. Combined with other techniques such as cookie bombing and specially crafted AppCache manifests, an attacker can gain access to private signed URLs within a specific storage path. Vulnerable apps are those using either GCS or the Disk service in production. Other storage services such as S3 or Azure aren't affected. All users running an affected release should either upgrade or use one of the workarounds immediately. For those using GCS, it's also recommended to run the following to update existing blobs: ``` ActiveStorage::Blob.find_each do |blob| blob.send :update_service_metadata end ```
Aliases

{
  "GSD": {
    "alias": "CVE-2018-16477",
    "description": "A bypass vulnerability in Active Storage \u003e= 5.2.0 for Google Cloud Storage and Disk services allow an attacker to modify the `content-disposition` and `content-type` parameters which can be used in with HTML files and have them executed inline. Additionally, if combined with other techniques such as cookie bombing and specially crafted AppCache manifests, an attacker can gain access to private signed URLs within a specific storage path. This vulnerability has been fixed in version 5.2.1.1.",
    "id": "GSD-2018-16477",
    "references": [
      "https://www.suse.com/security/cve/CVE-2018-16477.html"
    ]
  },
  "gsd": {
    "metadata": {
      "exploitCode": "unknown",
      "remediation": "unknown",
      "reportConfidence": "confirmed",
      "type": "vulnerability"
    },
    "osvSchema": {
      "affected": [
        {
          "package": {
            "ecosystem": "RubyGems",
            "name": "activestorage",
            "purl": "pkg:gem/activestorage"
          }
        }
      ],
      "aliases": [
        "CVE-2018-16477",
        "GHSA-7rr7-rcjw-56vj"
      ],
      "details": "There is a vulnerability in Active Storage. This vulnerability has been\nassigned the CVE identifier CVE-2018-16477.\n\nVersions Affected:  \u003e= 5.2.0\nNot affected:       \u003c 5.2.0\nFixed Versions:     5.2.1.1\n\nImpact\n------\nSigned download URLs generated by `ActiveStorage` for Google Cloud Storage\nservice and Disk service include `content-disposition` and `content-type`\nparameters that an attacker can modify. This can be used to upload specially\ncrafted HTML files and have them served and executed inline. Combined with\nother techniques such as cookie bombing and specially crafted AppCache manifests,\nan attacker can gain access to private signed URLs within a specific storage path.\n\nVulnerable apps are those using either GCS or the Disk service in production.\nOther storage services such as S3 or Azure aren\u0027t affected.\n\nAll users running an affected release should either upgrade or use one of the\nworkarounds immediately. For those using GCS, it\u0027s also recommended to run the\nfollowing to update existing blobs:\n\n```\nActiveStorage::Blob.find_each do |blob|\n  blob.send :update_service_metadata\nend\n```\n",
      "id": "GSD-2018-16477",
      "modified": "2018-11-27T00:00:00.000Z",
      "published": "2018-11-27T00:00:00.000Z",
      "references": [
        {
          "type": "WEB",
          "url": "https://groups.google.com/forum/#!topic/rubyonrails-security/3KQRnXDIuLg"
        }
      ],
      "schema_version": "1.4.0",
      "severity": [
        {
          "score": 6.5,
          "type": "CVSS_V3"
        }
      ],
      "summary": "Bypass vulnerability in Active Storage"
    }
  },
  "namespaces": {
    "cve.org": {
      "CVE_data_meta": {
        "ASSIGNER": "support@hackerone.com",
        "ID": "CVE-2018-16477",
        "STATE": "PUBLIC"
      },
      "affects": {
        "vendor": {
          "vendor_data": [
            {
              "product": {
                "product_data": [
                  {
                    "product_name": "https://github.com/rails/rails",
                    "version": {
                      "version_data": [
                        {
                          "version_value": "5.2.0 and later and before 5.2.1.1"
                        }
                      ]
                    }
                  }
                ]
              },
              "vendor_name": "n/a"
            }
          ]
        }
      },
      "data_format": "MITRE",
      "data_type": "CVE",
      "data_version": "4.0",
      "description": {
        "description_data": [
          {
            "lang": "eng",
            "value": "A bypass vulnerability in Active Storage \u003e= 5.2.0 for Google Cloud Storage and Disk services allow an attacker to modify the `content-disposition` and `content-type` parameters which can be used in with HTML files and have them executed inline. Additionally, if combined with other techniques such as cookie bombing and specially crafted AppCache manifests, an attacker can gain access to private signed URLs within a specific storage path. This vulnerability has been fixed in version 5.2.1.1."
          }
        ]
      },
      "problemtype": {
        "problemtype_data": [
          {
            "description": [
              {
                "lang": "eng",
                "value": "Information Disclosure (CWE-200)"
              }
            ]
          }
        ]
      },
      "references": {
        "reference_data": [
          {
            "name": "https://groups.google.com/d/msg/rubyonrails-security/3KQRnXDIuLg/mByx5KkqBAAJ",
            "refsource": "MISC",
            "url": "https://groups.google.com/d/msg/rubyonrails-security/3KQRnXDIuLg/mByx5KkqBAAJ"
          },
          {
            "name": "https://weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/",
            "refsource": "MISC",
            "url": "https://weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/"
          }
        ]
      }
    },
    "github.com/rubysec/ruby-advisory-db": {
      "cve": "2018-16477",
      "cvss_v3": 6.5,
      "date": "2018-11-27",
      "description": "There is a vulnerability in Active Storage. This vulnerability has been\nassigned the CVE identifier CVE-2018-16477.\n\nVersions Affected:  \u003e= 5.2.0\nNot affected:       \u003c 5.2.0\nFixed Versions:     5.2.1.1\n\nImpact\n------\nSigned download URLs generated by `ActiveStorage` for Google Cloud Storage\nservice and Disk service include `content-disposition` and `content-type`\nparameters that an attacker can modify. This can be used to upload specially\ncrafted HTML files and have them served and executed inline. Combined with\nother techniques such as cookie bombing and specially crafted AppCache manifests,\nan attacker can gain access to private signed URLs within a specific storage path.\n\nVulnerable apps are those using either GCS or the Disk service in production.\nOther storage services such as S3 or Azure aren\u0027t affected.\n\nAll users running an affected release should either upgrade or use one of the\nworkarounds immediately. For those using GCS, it\u0027s also recommended to run the\nfollowing to update existing blobs:\n\n```\nActiveStorage::Blob.find_each do |blob|\n  blob.send :update_service_metadata\nend\n```\n",
      "framework": "rails",
      "gem": "activestorage",
      "ghsa": "7rr7-rcjw-56vj",
      "patched_versions": [
        "\u003e= 5.2.1.1"
      ],
      "title": "Bypass vulnerability in Active Storage",
      "unaffected_versions": [
        "\u003c 5.2.0"
      ],
      "url": "https://groups.google.com/forum/#!topic/rubyonrails-security/3KQRnXDIuLg"
    },
    "gitlab.com": {
      "advisories": [
        {
          "affected_range": "\u003e=5.2.0 \u003c5.2.1.1",
          "affected_versions": "All versions starting from 5.2.0 before 5.2.1.1",
          "cvss_v2": "AV:N/AC:M/Au:N/C:N/I:P/A:N",
          "cvss_v3": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
          "cwe_ids": [
            "CWE-1035",
            "CWE-937"
          ],
          "date": "2019-10-09",
          "description": "A bypass vulnerability in Active Storage for Google Cloud Storage and Disk services allow an attacker to modify the `content-disposition` and `content-type` parameters which can be used in with HTML files and have them executed inline. Additionally, if combined with other techniques such as cookie bombing and specially crafted AppCache manifests, an attacker can gain access to private signed URLs within a specific storage path. This vulnerability has been fixed ",
          "fixed_versions": [
            "5.2.1.1"
          ],
          "identifier": "CVE-2018-16477",
          "identifiers": [
            "CVE-2018-16477"
          ],
          "not_impacted": "All versions before 5.2.0, all versions starting from 5.2.1.1",
          "package_slug": "gem/activestorage",
          "pubdate": "2018-11-30",
          "solution": "Upgrade to version 5.2.1.1 or above.",
          "title": "Exposure of Sensitive Information to an Unauthorized Actor",
          "urls": [
            "https://nvd.nist.gov/vuln/detail/CVE-2018-16477",
            "https://weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/",
            "https://groups.google.com/d/msg/rubyonrails-security/3KQRnXDIuLg/mByx5KkqBAAJ"
          ],
          "uuid": "7f0f17ac-f326-446d-bef2-8a1b98f3f288"
        },
        {
          "affected_range": "\u003e=5.2.0 \u003c5.2.1.1",
          "affected_versions": "All versions starting from 5.2.0 before 5.2.1.1",
          "cvss_v2": "AV:N/AC:M/Au:N/C:N/I:P/A:N",
          "cvss_v3": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
          "cwe_ids": [
            "CWE-1035",
            "CWE-937"
          ],
          "date": "2019-10-09",
          "description": "A bypass vulnerability in Active Storage for Google Cloud Storage and Disk services allow an attacker to modify the `content-disposition` and `content-type` parameters which can be used in with HTML files and have them executed inline. Additionally, if combined with other techniques such as cookie bombing and specially crafted AppCache manifests, an attacker can gain access to private signed URLs within a specific storage path.",
          "fixed_versions": [
            "5.2.1.1"
          ],
          "identifier": "CVE-2018-16477",
          "identifiers": [
            "CVE-2018-16477"
          ],
          "not_impacted": "All versions before 5.2.0, all versions starting from 5.2.1.1",
          "package_slug": "gem/rails",
          "pubdate": "2018-11-30",
          "solution": "Upgrade to version 5.2.1.1 or above.",
          "title": "Code Injection",
          "urls": [
            "https://nvd.nist.gov/vuln/detail/CVE-2018-16477",
            "https://weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/"
          ],
          "uuid": "daf809b7-66ab-409a-b487-e336466f9549"
        }
      ]
    },
    "nvd.nist.gov": {
      "configurations": {
        "CVE_data_version": "4.0",
        "nodes": [
          {
            "children": [],
            "cpe_match": [
              {
                "cpe23Uri": "cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*",
                "cpe_name": [],
                "versionEndExcluding": "5.2.1.1",
                "versionStartIncluding": "5.2.0",
                "vulnerable": true
              }
            ],
            "operator": "OR"
          }
        ]
      },
      "cve": {
        "CVE_data_meta": {
          "ASSIGNER": "cve-assignments@hackerone.com",
          "ID": "CVE-2018-16477"
        },
        "data_format": "MITRE",
        "data_type": "CVE",
        "data_version": "4.0",
        "description": {
          "description_data": [
            {
              "lang": "en",
              "value": "A bypass vulnerability in Active Storage \u003e= 5.2.0 for Google Cloud Storage and Disk services allow an attacker to modify the `content-disposition` and `content-type` parameters which can be used in with HTML files and have them executed inline. Additionally, if combined with other techniques such as cookie bombing and specially crafted AppCache manifests, an attacker can gain access to private signed URLs within a specific storage path. This vulnerability has been fixed in version 5.2.1.1."
            }
          ]
        },
        "problemtype": {
          "problemtype_data": [
            {
              "description": [
                {
                  "lang": "en",
                  "value": "NVD-CWE-noinfo"
                }
              ]
            }
          ]
        },
        "references": {
          "reference_data": [
            {
              "name": "https://weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/",
              "refsource": "MISC",
              "tags": [
                "Vendor Advisory"
              ],
              "url": "https://weblog.rubyonrails.org/2018/11/27/Rails-4-2-5-0-5-1-5-2-have-been-released/"
            },
            {
              "name": "https://groups.google.com/d/msg/rubyonrails-security/3KQRnXDIuLg/mByx5KkqBAAJ",
              "refsource": "MISC",
              "tags": [
                "Exploit",
                "Mitigation",
                "Mailing List",
                "Third Party Advisory"
              ],
              "url": "https://groups.google.com/d/msg/rubyonrails-security/3KQRnXDIuLg/mByx5KkqBAAJ"
            }
          ]
        }
      },
      "impact": {
        "baseMetricV2": {
          "acInsufInfo": false,
          "cvssV2": {
            "accessComplexity": "MEDIUM",
            "accessVector": "NETWORK",
            "authentication": "NONE",
            "availabilityImpact": "NONE",
            "baseScore": 4.3,
            "confidentialityImpact": "NONE",
            "integrityImpact": "PARTIAL",
            "vectorString": "AV:N/AC:M/Au:N/C:N/I:P/A:N",
            "version": "2.0"
          },
          "exploitabilityScore": 8.6,
          "impactScore": 2.9,
          "obtainAllPrivilege": false,
          "obtainOtherPrivilege": false,
          "obtainUserPrivilege": false,
          "severity": "MEDIUM",
          "userInteractionRequired": true
        },
        "baseMetricV3": {
          "cvssV3": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 6.5,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "NONE",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
            "version": "3.0"
          },
          "exploitabilityScore": 2.8,
          "impactScore": 3.6
        }
      },
      "lastModifiedDate": "2019-10-09T23:36Z",
      "publishedDate": "2018-11-30T19:29Z"
    }
  }
}


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…