← Back to CVE Explorer

CVE-2026-58087

Full vulnerability record from the local CVENow database.

Description

The GETALL and SETALL commands in semctl(2) recorded the number of semaphores in the target set, dropped the lock protecting the set, allocated a buffer sized for that count, and reacquired the lock. A sequence-number check was used to verify that the set had not been replaced in the interim, but the sequence number wraps after 0x8000 create/destroy cycles. By rapidly destroying and recreating semaphore sets at the same index, another process can cause the sequence number to wrap, allowing a set with a different number of semaphores to pass validation. The subsequent copy then reads or writes past the end of the allocated buffer. An unprivileged local user can trigger out-of-bounds reads and writes on kernel heap memory, potentially leading to privilege escalation.

Severity
HIGH
CVSS score
7.8 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-08-19 08:17:12.877000
Last modified
2026-10-27 12:10:00.343000
View original CVE JSON
{
  "id": "CVE-2026-58087",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-19T08:17:12.877",
  "lastModified": "2026-10-27T12:10:00.343",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The GETALL and SETALL commands in semctl(2) recorded the number of semaphores in the target set, dropped the lock protecting the set, allocated a buffer sized for that count, and reacquired the lock.  A sequence-number check was used to verify that the set had not been replaced in the interim, but the sequence number wraps after 0x8000 create/destroy cycles.  By rapidly destroying and recreating semaphore sets at the same index, another process can cause the sequence number to wrap, allowing a set with a different number of semaphores to pass validation.  The subsequent copy then reads or writes past the end of the allocated buffer.\n\nAn unprivileged local user can trigger out-of-bounds reads and writes on kernel heap memory, potentially leading to privilege escalation."
    },
    {
      "lang": "es",
      "value": "Los comandos GETALL y SETALL en semctl(2) registraron el número de semáforos en el conjunto objetivo, liberaron el bloqueo que protegía el conjunto, asignaron un búfer dimensionado para esa cantidad y volvieron a adquirir el bloqueo. Se utilizó una verificación de número de secuencia para verificar que el conjunto no había sido reemplazado en el ínterin, pero el número de secuencia se reinicia después de 0x8000 ciclos de creación/destrucción. Al destruir y recrear rápidamente conjuntos de semáforos en el mismo índice, otro proceso puede hacer que el número de secuencia se reinicie, permitiendo que un conjunto con un número diferente de semáforos pase la validación. La copia subsiguiente entonces lee o escribe más allá del final del búfer asignado.\n\nUn usuario local sin privilegios puede desencadenar lecturas y escrituras fuera de límites en la memoria del heap del kernel, lo que podría conducir a una escalada de privilegios."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "FreeBSD",
          "product": "FreeBSD",
          "defaultStatus": "unknown",
          "modules": [
            "sysvsem"
          ],
          "versions": [
            {
              "version": "15.1-RELEASE",
              "lessThan": "p2",
              "versionType": "release",
              "status": "affected"
            },
            {
              "version": "15.0-RELEASE",
              "lessThan": "p12",
              "versionType": "release",
              "status": "affected"
            },
            {
              "version": "14.4-RELEASE",
              "lessThan": "p8",
              "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:N/UI:R/S:U/C:H/I:H/A:H",
          "baseScore": 7.8,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-19T00:00:00+00:00",
          "id": "CVE-2026-58087",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-125"
        },
        {
          "lang": "en",
          "value": "CWE-191"
        },
        {
          "lang": "en",
          "value": "CWE-787"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "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:p6:*:*:*:*:*:*",
              "matchCriteriaId": "A66308E4-DA6E-48DB-86E5-A503EE110EAD"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:freebsd:freebsd:14.4:p7:*:*:*:*:*:*",
              "matchCriteriaId": "59EF67B4-E572-483B-BC9E-B2D3D8DF19CE"
            },
            {
              "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:p10:*:*:*:*:*:*",
              "matchCriteriaId": "683CEB32-A634-4363-86FB-2BDC59724E3E"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:freebsd:freebsd:15.0:p11:*:*:*:*:*:*",
              "matchCriteriaId": "9EC8EE3F-9992-4A0F-A0CD-3B44BA086BD2"
            },
            {
              "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:-:*:*:*:*:*:*",
              "matchCriteriaId": "BD327D43-A2DC-49B5-A578-D2116E1E12F3"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:freebsd:freebsd:15.1:p1:*:*:*:*:*:*",
              "matchCriteriaId": "E379873C-DA04-4EAA-ABF6-EB87B4B471A8"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:freebsd:freebsd:15.1:rc2:*:*:*:*:*:*",
              "matchCriteriaId": "BF16D01F-95EC-4FE3-B32D-135CB82E8391"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:o:freebsd:freebsd:15.1:rc3-p1:*:*:*:*:*:*",
              "matchCriteriaId": "75973F7C-645A-438C-A03B-C77AAAD20C15"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://security.freebsd.org/advisories/FreeBSD-SA-26:54.sysvsem.asc",
      "source": "[email protected]",
      "tags": [
        "Vendor Advisory",
        "Mailing List"
      ]
    }
  ]
}