GHSA-HGC7-RQX4-P393
Vulnerability from github – Published: 2026-05-27 15:33 – Updated: 2026-05-27 15:33In the Linux kernel, the following vulnerability has been resolved:
smack: /smack/doi: accept previously used values
Writing to /smack/doi a value that has ever been written there in the past disables networking for non-ambient labels. E.g.
# cat /smack/doi
3
# netlabelctl -p cipso list
Configured CIPSO mappings (1)
DOI value : 3
mapping type : PASS_THROUGH
# netlabelctl -p map list
Configured NetLabel domain mappings (3)
domain: "_" (IPv4)
protocol: UNLABELED
domain: DEFAULT (IPv4)
protocol: CIPSO, DOI = 3
domain: DEFAULT (IPv6)
protocol: UNLABELED
# cat /smack/ambient
_
# cat /proc/$$/attr/smack/current
_
# ping -c1 10.1.95.12
64 bytes from 10.1.95.12: icmp_seq=1 ttl=64 time=0.964 ms
# echo foo >/proc/$$/attr/smack/current
# ping -c1 10.1.95.12
64 bytes from 10.1.95.12: icmp_seq=1 ttl=64 time=0.956 ms
unknown option 86
# echo 4 >/smack/doi
# echo 3 >/smack/doi
!> [ 214.050395] smk_cipso_doi:691 cipso add rc = -17 # echo 3 >/smack/doi !> [ 249.402261] smk_cipso_doi:678 remove rc = -2 !> [ 249.402261] smk_cipso_doi:691 cipso add rc = -17
# ping -c1 10.1.95.12
!!> ping: 10.1.95.12: Address family for hostname not supported
# echo _ >/proc/$$/attr/smack/current
# ping -c1 10.1.95.12
64 bytes from 10.1.95.12: icmp_seq=1 ttl=64 time=0.617 ms
This happens because Smack keeps decommissioned DOIs, fails to re-add them, and consequently refuses to add the “default” domain map:
# netlabelctl -p cipso list
Configured CIPSO mappings (2)
DOI value : 3
mapping type : PASS_THROUGH
DOI value : 4
mapping type : PASS_THROUGH
# netlabelctl -p map list
Configured NetLabel domain mappings (2)
domain: "_" (IPv4)
protocol: UNLABELED
!> (no ipv4 map for default domain here) domain: DEFAULT (IPv6) protocol: UNLABELED
Fix by clearing decommissioned DOI definitions and serializing concurrent DOI updates with a new lock.
Also: - allow /smack/doi to live unconfigured, since adding a map (netlbl_cfg_cipsov4_map_add) may fail. CIPSO_V4_DOI_UNKNOWN(0) indicates the unconfigured DOI - add new DOI before removing the old default map, so the old map remains if the add fails
(2008-02-04, Casey Schaufler)
{
"affected": [],
"aliases": [
"CVE-2025-71304"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-05-27T14:16:42Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmack: /smack/doi: accept previously used values\n\nWriting to /smack/doi a value that has ever been\nwritten there in the past disables networking for\nnon-ambient labels.\nE.g.\n\n # cat /smack/doi\n 3\n # netlabelctl -p cipso list\n Configured CIPSO mappings (1)\n DOI value : 3\n mapping type : PASS_THROUGH\n # netlabelctl -p map list\n Configured NetLabel domain mappings (3)\n domain: \"_\" (IPv4)\n protocol: UNLABELED\n domain: DEFAULT (IPv4)\n protocol: CIPSO, DOI = 3\n domain: DEFAULT (IPv6)\n protocol: UNLABELED\n\n # cat /smack/ambient\n _\n # cat /proc/$$/attr/smack/current\n _\n # ping -c1 10.1.95.12\n 64 bytes from 10.1.95.12: icmp_seq=1 ttl=64 time=0.964 ms\n # echo foo \u003e/proc/$$/attr/smack/current\n # ping -c1 10.1.95.12\n 64 bytes from 10.1.95.12: icmp_seq=1 ttl=64 time=0.956 ms\n unknown option 86\n\n # echo 4 \u003e/smack/doi\n # echo 3 \u003e/smack/doi\n!\u003e [ 214.050395] smk_cipso_doi:691 cipso add rc = -17\n # echo 3 \u003e/smack/doi\n!\u003e [ 249.402261] smk_cipso_doi:678 remove rc = -2\n!\u003e [ 249.402261] smk_cipso_doi:691 cipso add rc = -17\n\n # ping -c1 10.1.95.12\n!!\u003e ping: 10.1.95.12: Address family for hostname not supported\n\n # echo _ \u003e/proc/$$/attr/smack/current\n # ping -c1 10.1.95.12\n 64 bytes from 10.1.95.12: icmp_seq=1 ttl=64 time=0.617 ms\n\nThis happens because Smack keeps decommissioned DOIs,\nfails to re-add them, and consequently refuses to add\nthe \u201cdefault\u201d domain map:\n\n # netlabelctl -p cipso list\n Configured CIPSO mappings (2)\n DOI value : 3\n mapping type : PASS_THROUGH\n DOI value : 4\n mapping type : PASS_THROUGH\n # netlabelctl -p map list\n Configured NetLabel domain mappings (2)\n domain: \"_\" (IPv4)\n protocol: UNLABELED\n!\u003e (no ipv4 map for default domain here)\n domain: DEFAULT (IPv6)\n protocol: UNLABELED\n\nFix by clearing decommissioned DOI definitions and\nserializing concurrent DOI updates with a new lock.\n\nAlso:\n- allow /smack/doi to live unconfigured, since\n adding a map (netlbl_cfg_cipsov4_map_add) may fail.\n CIPSO_V4_DOI_UNKNOWN(0) indicates the unconfigured DOI\n- add new DOI before removing the old default map,\n so the old map remains if the add fails\n\n(2008-02-04, Casey Schaufler)",
"id": "GHSA-hgc7-rqx4-p393",
"modified": "2026-05-27T15:33:11Z",
"published": "2026-05-27T15:33:10Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-71304"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/199452f22d2f74b897fe826f81ec402b0a8461a0"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/1c7ee23dfcd18d80770d8f90f2ab5bb1b2bfd8a3"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/33d589ed60ae433b483761987b85e0d24e54584e"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/5a247a84de0ba44edbbd6be851c8a6b2aa60ff85"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/6ec091c5c7eeabd249a7c46813cad1e9f555f859"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/8beebb8ad9a003f978e53b06237986588223e15e"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/eb718a3c8181ada679340db34cd61bce48e44749"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/f8071500177f38cff38892bd85ac631cc6e010b2"
}
],
"schema_version": "1.4.0",
"severity": []
}
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.