CVE-2026-45256 (GCVE-0-2026-45256)

Vulnerability from cvelistv5 – Published: 2026-06-26 14:43 – Updated: 2026-06-26 15:30
VLAI
Title
Missing permission check in thr_kill2(2)
Summary
When used to deliver a signal to a specific thread, thr_kill2(2) called p_cansignal() to determine whether the operation was permitted but did not check the result before delivering the signal. The signal was sent even when the permission check failed. The system call returned the resulting error to the caller, but by then the signal had already been delivered. The missing check allows an unprivileged local user who knows or can guess a target's process and thread IDs to send any signal to a process they would not normally be permitted to signal, including processes owned by other users or by root. The same check enforces jail boundaries, so a jailed process can signal processes on the host or in other jails. Thread IDs are allocated globally and sequentially, and so can be discovered by brute force with no visibility into the target. An attacker can stop or terminate arbitrary processes, including critical system daemons, resulting in a Denial of Service (DoS).
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
  • CWE-269 - Improper Privilege Management
Assigner
References
Impacted products
Vendor Product Version
FreeBSD FreeBSD Affected: 15.0-RELEASE , < p10 (release)
Affected: 14.4-RELEASE , < p6 (release)
Affected: 14.3-RELEASE , < p15 (release)
Create a notification for this product.
Date Public
2026-06-09 23:30
Credits
Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai Igor Gabriel Sousa e Souza
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 5.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2026-45256",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-06-26T15:29:58.924156Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-06-26T15:30:02.071Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unknown",
          "modules": [
            "thr"
          ],
          "product": "FreeBSD",
          "vendor": "FreeBSD",
          "versions": [
            {
              "lessThan": "p10",
              "status": "affected",
              "version": "15.0-RELEASE",
              "versionType": "release"
            },
            {
              "lessThan": "p6",
              "status": "affected",
              "version": "14.4-RELEASE",
              "versionType": "release"
            },
            {
              "lessThan": "p15",
              "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"
        },
        {
          "lang": "en",
          "type": "finder",
          "value": "Igor Gabriel Sousa e Souza"
        }
      ],
      "datePublic": "2026-06-09T23:30:00.000Z",
      "descriptions": [
        {
          "lang": "en",
          "value": "When used to deliver a signal to a specific thread, thr_kill2(2) called p_cansignal() to determine whether the operation was permitted but did not check the result before delivering the signal.  The signal was sent even when the permission check failed.  The system call returned the resulting error to the caller, but by then the signal had already been delivered.\n\nThe missing check allows an unprivileged local user who knows or can guess a target\u0027s process and thread IDs to send any signal to a process they would not normally be permitted to signal, including processes owned by other users or by root.  The same check enforces jail boundaries, so a jailed process can signal processes on the host or in other jails.  Thread IDs are allocated globally and sequentially, and so can be discovered by brute force with no visibility into the target.\n\nAn attacker can stop or terminate arbitrary processes, including critical system daemons, resulting in a Denial of Service (DoS)."
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-269",
              "description": "CWE-269 Improper Privilege Management",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-26T14:43:22.674Z",
        "orgId": "63664ac6-956c-4cba-a5d0-f46076e16109",
        "shortName": "freebsd"
      },
      "references": [
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc"
        }
      ],
      "title": "Missing permission check in thr_kill2(2)",
      "x_generator": {
        "engine": "cvelib 1.8.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "63664ac6-956c-4cba-a5d0-f46076e16109",
    "assignerShortName": "freebsd",
    "cveId": "CVE-2026-45256",
    "datePublished": "2026-06-26T14:43:22.674Z",
    "dateReserved": "2026-05-11T16:27:44.891Z",
    "dateUpdated": "2026-06-26T15:30:02.071Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-45256",
      "date": "2026-06-29",
      "epss": "0.00092",
      "percentile": "0.00652"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-45256\",\"sourceIdentifier\":\"secteam@freebsd.org\",\"published\":\"2026-06-26T15:16:39.170\",\"lastModified\":\"2026-06-26T18:58:48.590\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"When used to deliver a signal to a specific thread, thr_kill2(2) called p_cansignal() to determine whether the operation was permitted but did not check the result before delivering the signal.  The signal was sent even when the permission check failed.  The system call returned the resulting error to the caller, but by then the signal had already been delivered.\\n\\nThe missing check allows an unprivileged local user who knows or can guess a target\u0027s process and thread IDs to send any signal to a process they would not normally be permitted to signal, including processes owned by other users or by root.  The same check enforces jail boundaries, so a jailed process can signal processes on the host or in other jails.  Thread IDs are allocated globally and sequentially, and so can be discovered by brute force with no visibility into the target.\\n\\nAn attacker can stop or terminate arbitrary processes, including critical system daemons, resulting in a Denial of Service (DoS).\"}],\"affected\":[{\"source\":\"secteam@freebsd.org\",\"affectedData\":[{\"vendor\":\"FreeBSD\",\"product\":\"FreeBSD\",\"defaultStatus\":\"unknown\",\"modules\":[\"thr\"],\"versions\":[{\"version\":\"15.0-RELEASE\",\"lessThan\":\"p10\",\"versionType\":\"release\",\"status\":\"affected\"},{\"version\":\"14.4-RELEASE\",\"lessThan\":\"p6\",\"versionType\":\"release\",\"status\":\"affected\"},{\"version\":\"14.3-RELEASE\",\"lessThan\":\"p15\",\"versionType\":\"release\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-06-26T15:29:58.924156Z\",\"id\":\"CVE-2026-45256\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"secteam@freebsd.org\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-269\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:-:*:*:*:*:*:*\",\"matchCriteriaId\":\"9DC7C54E-58AF-4ADE-84AF-0EF0F325E20E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p1:*:*:*:*:*:*\",\"matchCriteriaId\":\"D3D22B8C-36CF-4800-9673-0B0240558BDD\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p10:*:*:*:*:*:*\",\"matchCriteriaId\":\"7296F5AA-F8C1-4277-A4EE-C2B24073A320\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p11:*:*:*:*:*:*\",\"matchCriteriaId\":\"C30E4A9C-0594-4F40-92B3-26CB9AA85AE9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p12:*:*:*:*:*:*\",\"matchCriteriaId\":\"9F83F91B-587A-433C-99DB-0D63E267FF16\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p13:*:*:*:*:*:*\",\"matchCriteriaId\":\"44B9C2FC-756E-459F-8E68-C2C2B8C258AC\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p14:*:*:*:*:*:*\",\"matchCriteriaId\":\"A11526CF-505E-47DF-8388-65CB216D2022\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p2:*:*:*:*:*:*\",\"matchCriteriaId\":\"242FA2A8-5D7D-4617-A411-2651FF3A3E4C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p3:*:*:*:*:*:*\",\"matchCriteriaId\":\"40573F60-F3B7-4AEC-846A-B08E5B7D9D00\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p4:*:*:*:*:*:*\",\"matchCriteriaId\":\"1FB832CE-0A98-44A2-8BAC-CD38A64279B6\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p5:*:*:*:*:*:*\",\"matchCriteriaId\":\"9A785F8E-C218-41AE-8D57-BF06DDAEF7CB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p6:*:*:*:*:*:*\",\"matchCriteriaId\":\"C3909FDD-B2A2-45B6-A40B-1D303A717F15\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p7:*:*:*:*:*:*\",\"matchCriteriaId\":\"720597A2-F181-46E1-8A0D-097E17ADC4FB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p8:*:*:*:*:*:*\",\"matchCriteriaId\":\"DC8A75D0-148A-427A-9783-45477EABED21\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.3:p9:*:*:*:*:*:*\",\"matchCriteriaId\":\"F5D39FC9-6DBA-46C8-BB80-A6188E6A8527\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:-:*:*:*:*:*:*\",\"matchCriteriaId\":\"8F3856BE-666F-4FA1-A6AD-FE179CEBF1E4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:p1:*:*:*:*:*:*\",\"matchCriteriaId\":\"D9CC0037-3282-42C3-80D8-F6C1D43B9332\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:p2:*:*:*:*:*:*\",\"matchCriteriaId\":\"1EADA828-3C20-43C0-A0CA-3AC7D7F23DBD\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:p3:*:*:*:*:*:*\",\"matchCriteriaId\":\"53D73FD2-4B06-47D3-BA2A-4363E9DE3565\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:p4:*:*:*:*:*:*\",\"matchCriteriaId\":\"D726890B-E679-43A9-A211-D5C05BBE3941\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:p5:*:*:*:*:*:*\",\"matchCriteriaId\":\"CBE94635-5277-4050-8098-F062091F6596\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:14.4:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"0342A715-E211-4AF6-97ED-32EB9EBB947D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:-:*:*:*:*:*:*\",\"matchCriteriaId\":\"368CFE5D-C5C2-42AF-AAF4-28DFE1A59C3B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p1:*:*:*:*:*:*\",\"matchCriteriaId\":\"AA4AAA57-70A7-4717-ACF2-A253E757FF2C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p2:*:*:*:*:*:*\",\"matchCriteriaId\":\"E24ABFA6-4D12-4DE5-832B-438502C7D188\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p3:*:*:*:*:*:*\",\"matchCriteriaId\":\"C1C9869C-494B-4628-9AA3-4AA5B989C377\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p4:*:*:*:*:*:*\",\"matchCriteriaId\":\"002AA2FE-C7BA-471A-9434-0E56A878ACBF\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p5:*:*:*:*:*:*\",\"matchCriteriaId\":\"B187670D-E3A2-4A0D-A653-982F8B447E78\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p6:*:*:*:*:*:*\",\"matchCriteriaId\":\"047E7EE9-FB51-4CF2-A8BE-484BFD819565\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p7:*:*:*:*:*:*\",\"matchCriteriaId\":\"2C9768AE-9954-4B2A-9525-D7D4942406E7\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p8:*:*:*:*:*:*\",\"matchCriteriaId\":\"F8B9EF55-3755-452A-B067-043803099B22\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.0:p9:*:*:*:*:*:*\",\"matchCriteriaId\":\"EE3C4F40-A117-4B37-8CDD-096A1A763630\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:freebsd:freebsd:15.1:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"BF16D01F-95EC-4FE3-B32D-135CB82E8391\"}]}]}],\"references\":[{\"url\":\"https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc\",\"source\":\"secteam@freebsd.org\",\"tags\":[\"Vendor Advisory\"]}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.5, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-45256\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-26T15:29:58.924156Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-26T15:29:56.651Z\"}}], \"cna\": {\"title\": \"Missing permission check in thr_kill2(2)\", \"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\"}, {\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Igor Gabriel Sousa e Souza\"}], \"affected\": [{\"vendor\": \"FreeBSD\", \"modules\": [\"thr\"], \"product\": \"FreeBSD\", \"versions\": [{\"status\": \"affected\", \"version\": \"15.0-RELEASE\", \"lessThan\": \"p10\", \"versionType\": \"release\"}, {\"status\": \"affected\", \"version\": \"14.4-RELEASE\", \"lessThan\": \"p6\", \"versionType\": \"release\"}, {\"status\": \"affected\", \"version\": \"14.3-RELEASE\", \"lessThan\": \"p15\", \"versionType\": \"release\"}], \"defaultStatus\": \"unknown\"}], \"datePublic\": \"2026-06-09T23:30:00.000Z\", \"references\": [{\"url\": \"https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc\", \"tags\": [\"vendor-advisory\"]}], \"x_generator\": {\"engine\": \"cvelib 1.8.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"When used to deliver a signal to a specific thread, thr_kill2(2) called p_cansignal() to determine whether the operation was permitted but did not check the result before delivering the signal.  The signal was sent even when the permission check failed.  The system call returned the resulting error to the caller, but by then the signal had already been delivered.\\n\\nThe missing check allows an unprivileged local user who knows or can guess a target\u0027s process and thread IDs to send any signal to a process they would not normally be permitted to signal, including processes owned by other users or by root.  The same check enforces jail boundaries, so a jailed process can signal processes on the host or in other jails.  Thread IDs are allocated globally and sequentially, and so can be discovered by brute force with no visibility into the target.\\n\\nAn attacker can stop or terminate arbitrary processes, including critical system daemons, resulting in a Denial of Service (DoS).\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-269\", \"description\": \"CWE-269 Improper Privilege Management\"}]}], \"providerMetadata\": {\"orgId\": \"63664ac6-956c-4cba-a5d0-f46076e16109\", \"shortName\": \"freebsd\", \"dateUpdated\": \"2026-06-26T14:43:22.674Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-45256\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-06-26T15:30:02.071Z\", \"dateReserved\": \"2026-05-11T16:27:44.891Z\", \"assignerOrgId\": \"63664ac6-956c-4cba-a5d0-f46076e16109\", \"datePublished\": \"2026-06-26T14:43:22.674Z\", \"assignerShortName\": \"freebsd\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


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…