CVE-2026-49421 (GCVE-0-2026-49421)

Vulnerability from cvelistv5 – Published: 2026-08-19 05:25 – Updated: 2026-08-19 05:25
VLAI
Title
unlinkat(2) ignores AT_RESOLVE_BENEATH flag
Summary
The kernel function that implements unlinkat(2) and funlinkat(2) validated the AT_RESOLVE_BENEATH flag but failed to pass it through to the underlying path lookup. The flag was silently dropped, so path resolution was not actually restricted. A process that uses AT_RESOLVE_BENEATH with unlinkat(2) or funlinkat(2) to confine path resolution can in fact resolve paths above the starting directory. A caller relying on this flag for path containment may delete files outside the intended directory tree.
Severity
No CVSS data available.
CWE
  • CWE-273 - Improper Check for Dropped Privileges
References
Impacted products
Vendor Product Version CPE status
FreeBSD FreeBSD Affected: 15.1-RELEASE , < p1 (release)
Affected: 15.0-RELEASE , < p11 (release)
Affected: 14.4-RELEASE , < p7 (release)
Affected: 14.3-RELEASE , < p16 (release)
guessed Create a notification for this product.
Date Public
2026-06-30 20:00
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unknown",
          "modules": [
            "libalias"
          ],
          "product": "FreeBSD",
          "vendor": "FreeBSD",
          "versions": [
            {
              "lessThan": "p1",
              "status": "affected",
              "version": "15.1-RELEASE",
              "versionType": "release"
            },
            {
              "lessThan": "p11",
              "status": "affected",
              "version": "15.0-RELEASE",
              "versionType": "release"
            },
            {
              "lessThan": "p7",
              "status": "affected",
              "version": "14.4-RELEASE",
              "versionType": "release"
            },
            {
              "lessThan": "p16",
              "status": "affected",
              "version": "14.3-RELEASE",
              "versionType": "release"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai"
        }
      ],
      "datePublic": "2026-06-30T20:00:00.000Z",
      "descriptions": [
        {
          "lang": "en",
          "value": "The kernel function that implements unlinkat(2) and funlinkat(2) validated the AT_RESOLVE_BENEATH flag but failed to pass it through to the underlying path lookup.  The flag was silently dropped, so path resolution was not actually restricted.\n\nA process that uses AT_RESOLVE_BENEATH with unlinkat(2) or funlinkat(2) to confine path resolution can in fact resolve paths above the starting directory.  A caller relying on this flag for path containment may delete files outside the intended directory tree."
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-273",
              "description": "CWE-273: Improper Check for Dropped Privileges",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-19T05:25:43.003Z",
        "orgId": "63664ac6-956c-4cba-a5d0-f46076e16109",
        "shortName": "freebsd"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://security.freebsd.org/advisories/FreeBSD-SA-26:42.unlinkat.asc"
        }
      ],
      "title": "unlinkat(2) ignores AT_RESOLVE_BENEATH flag",
      "x_generator": {
        "engine": "cvelib 1.8.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "63664ac6-956c-4cba-a5d0-f46076e16109",
    "assignerShortName": "freebsd",
    "cveId": "CVE-2026-49421",
    "datePublished": "2026-08-19T05:25:43.003Z",
    "dateReserved": "2026-05-29T20:24:28.616Z",
    "dateUpdated": "2026-08-19T05:25:43.003Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-49421",
      "date": "2026-08-24",
      "epss": "0.00132",
      "percentile": "0.0298"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-49421\",\"sourceIdentifier\":\"secteam@freebsd.org\",\"published\":\"2026-08-19T06:17:41.160\",\"lastModified\":\"2026-08-19T06:17:41.160\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"The kernel function that implements unlinkat(2) and funlinkat(2) validated the AT_RESOLVE_BENEATH flag but failed to pass it through to the underlying path lookup.  The flag was silently dropped, so path resolution was not actually restricted.\\n\\nA process that uses AT_RESOLVE_BENEATH with unlinkat(2) or funlinkat(2) to confine path resolution can in fact resolve paths above the starting directory.  A caller relying on this flag for path containment may delete files outside the intended directory tree.\"}],\"affected\":[{\"source\":\"secteam@freebsd.org\",\"affectedData\":[{\"vendor\":\"FreeBSD\",\"product\":\"FreeBSD\",\"defaultStatus\":\"unknown\",\"modules\":[\"libalias\"],\"versions\":[{\"version\":\"15.1-RELEASE\",\"lessThan\":\"p1\",\"versionType\":\"release\",\"status\":\"affected\"},{\"version\":\"15.0-RELEASE\",\"lessThan\":\"p11\",\"versionType\":\"release\",\"status\":\"affected\"},{\"version\":\"14.4-RELEASE\",\"lessThan\":\"p7\",\"versionType\":\"release\",\"status\":\"affected\"},{\"version\":\"14.3-RELEASE\",\"lessThan\":\"p16\",\"versionType\":\"release\",\"status\":\"affected\"}]}]}],\"metrics\":{},\"weaknesses\":[{\"source\":\"secteam@freebsd.org\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-273\"}]}],\"references\":[{\"url\":\"https://security.freebsd.org/advisories/FreeBSD-SA-26:42.unlinkat.asc\",\"source\":\"secteam@freebsd.org\"}]}}"
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

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…

Loading…