gsd-2024-26821
Vulnerability from gsd
Modified
2024-02-20 06:02
Details
In the Linux kernel, the following vulnerability has been resolved: fs: relax mount_setattr() permission checks When we added mount_setattr() I added additional checks compared to the legacy do_reconfigure_mnt() and do_change_type() helpers used by regular mount(2). If that mount had a parent then verify that the caller and the mount namespace the mount is attached to match and if not make sure that it's an anonymous mount. The real rootfs falls into neither category. It is neither an anoymous mount because it is obviously attached to the initial mount namespace but it also obviously doesn't have a parent mount. So that means legacy mount(2) allows changing mount properties on the real rootfs but mount_setattr(2) blocks this. I never thought much about this but of course someone on this planet of earth changes properties on the real rootfs as can be seen in [1]. Since util-linux finally switched to the new mount api in 2.39 not so long ago it also relies on mount_setattr() and that surfaced this issue when Fedora 39 finally switched to it. Fix this.
Aliases



{
  "gsd": {
    "metadata": {
      "exploitCode": "unknown",
      "remediation": "unknown",
      "reportConfidence": "confirmed",
      "type": "vulnerability"
    },
    "osvSchema": {
      "aliases": [
        "CVE-2024-26821"
      ],
      "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs: relax mount_setattr() permission checks\n\nWhen we added mount_setattr() I added additional checks compared to the\nlegacy do_reconfigure_mnt() and do_change_type() helpers used by regular\nmount(2). If that mount had a parent then verify that the caller and the\nmount namespace the mount is attached to match and if not make sure that\nit\u0027s an anonymous mount.\n\nThe real rootfs falls into neither category. It is neither an anoymous\nmount because it is obviously attached to the initial mount namespace\nbut it also obviously doesn\u0027t have a parent mount. So that means legacy\nmount(2) allows changing mount properties on the real rootfs but\nmount_setattr(2) blocks this. I never thought much about this but of\ncourse someone on this planet of earth changes properties on the real\nrootfs as can be seen in [1].\n\nSince util-linux finally switched to the new mount api in 2.39 not so\nlong ago it also relies on mount_setattr() and that surfaced this issue\nwhen Fedora 39 finally switched to it. Fix this.",
      "id": "GSD-2024-26821",
      "modified": "2024-02-20T06:02:29.151967Z",
      "schema_version": "1.4.0"
    }
  },
  "namespaces": {
    "cve.org": {
      "CVE_data_meta": {
        "ASSIGNER": "cve@kernel.org",
        "ID": "CVE-2024-26821",
        "STATE": "PUBLIC"
      },
      "affects": {
        "vendor": {
          "vendor_data": [
            {
              "product": {
                "product_data": [
                  {
                    "product_name": "Linux",
                    "version": {
                      "version_data": [
                        {
                          "version_affected": "\u003c",
                          "version_name": "1da177e4c3f4",
                          "version_value": "95de4ad173ca"
                        },
                        {
                          "version_value": "not down converted",
                          "x_cve_json_5_version_data": {
                            "defaultStatus": "affected",
                            "versions": [
                              {
                                "lessThanOrEqual": "6.1.*",
                                "status": "unaffected",
                                "version": "6.1.79",
                                "versionType": "custom"
                              },
                              {
                                "lessThanOrEqual": "6.6.*",
                                "status": "unaffected",
                                "version": "6.6.18",
                                "versionType": "custom"
                              },
                              {
                                "lessThanOrEqual": "6.7.*",
                                "status": "unaffected",
                                "version": "6.7.6",
                                "versionType": "custom"
                              },
                              {
                                "lessThanOrEqual": "*",
                                "status": "unaffected",
                                "version": "6.8",
                                "versionType": "original_commit_for_fix"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              "vendor_name": "Linux"
            }
          ]
        }
      },
      "data_format": "MITRE",
      "data_type": "CVE",
      "data_version": "4.0",
      "description": {
        "description_data": [
          {
            "lang": "eng",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs: relax mount_setattr() permission checks\n\nWhen we added mount_setattr() I added additional checks compared to the\nlegacy do_reconfigure_mnt() and do_change_type() helpers used by regular\nmount(2). If that mount had a parent then verify that the caller and the\nmount namespace the mount is attached to match and if not make sure that\nit\u0027s an anonymous mount.\n\nThe real rootfs falls into neither category. It is neither an anoymous\nmount because it is obviously attached to the initial mount namespace\nbut it also obviously doesn\u0027t have a parent mount. So that means legacy\nmount(2) allows changing mount properties on the real rootfs but\nmount_setattr(2) blocks this. I never thought much about this but of\ncourse someone on this planet of earth changes properties on the real\nrootfs as can be seen in [1].\n\nSince util-linux finally switched to the new mount api in 2.39 not so\nlong ago it also relies on mount_setattr() and that surfaced this issue\nwhen Fedora 39 finally switched to it. Fix this."
          }
        ]
      },
      "generator": {
        "engine": "bippy-d175d3acf727"
      },
      "problemtype": {
        "problemtype_data": [
          {
            "description": [
              {
                "lang": "eng",
                "value": "n/a"
              }
            ]
          }
        ]
      },
      "references": {
        "reference_data": [
          {
            "name": "https://git.kernel.org/stable/c/95de4ad173ca0e61034f3145d66917970961c210",
            "refsource": "MISC",
            "url": "https://git.kernel.org/stable/c/95de4ad173ca0e61034f3145d66917970961c210"
          },
          {
            "name": "https://git.kernel.org/stable/c/31f71f2d7a081fc6c6bdf06865beedf6db5b0ca4",
            "refsource": "MISC",
            "url": "https://git.kernel.org/stable/c/31f71f2d7a081fc6c6bdf06865beedf6db5b0ca4"
          },
          {
            "name": "https://git.kernel.org/stable/c/2a7a31e1fb9717845d9d5e2a8c6e48848147801e",
            "refsource": "MISC",
            "url": "https://git.kernel.org/stable/c/2a7a31e1fb9717845d9d5e2a8c6e48848147801e"
          },
          {
            "name": "https://git.kernel.org/stable/c/46f5ab762d048dad224436978315cbc2fa79c630",
            "refsource": "MISC",
            "url": "https://git.kernel.org/stable/c/46f5ab762d048dad224436978315cbc2fa79c630"
          }
        ]
      }
    },
    "nvd.nist.gov": {
      "cve": {
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs: relax mount_setattr() permission checks\n\nWhen we added mount_setattr() I added additional checks compared to the\nlegacy do_reconfigure_mnt() and do_change_type() helpers used by regular\nmount(2). If that mount had a parent then verify that the caller and the\nmount namespace the mount is attached to match and if not make sure that\nit\u0027s an anonymous mount.\n\nThe real rootfs falls into neither category. It is neither an anoymous\nmount because it is obviously attached to the initial mount namespace\nbut it also obviously doesn\u0027t have a parent mount. So that means legacy\nmount(2) allows changing mount properties on the real rootfs but\nmount_setattr(2) blocks this. I never thought much about this but of\ncourse someone on this planet of earth changes properties on the real\nrootfs as can be seen in [1].\n\nSince util-linux finally switched to the new mount api in 2.39 not so\nlong ago it also relies on mount_setattr() and that surfaced this issue\nwhen Fedora 39 finally switched to it. Fix this."
          }
        ],
        "id": "CVE-2024-26821",
        "lastModified": "2024-04-17T12:48:07.510",
        "metrics": {},
        "published": "2024-04-17T10:15:08.917",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2a7a31e1fb9717845d9d5e2a8c6e48848147801e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/31f71f2d7a081fc6c6bdf06865beedf6db5b0ca4"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/46f5ab762d048dad224436978315cbc2fa79c630"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/95de4ad173ca0e61034f3145d66917970961c210"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Awaiting Analysis"
      }
    }
  }
}


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 seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.