uutils coreutils comm Silent Data Corruption via Lossy UTF-8 Normalization
The comm utility in uutils coreutils silently corrupts data by performing lossy UTF-8 conversion on all output lines. The implementation uses String::from_utf8_lossy(), which replaces invalid UTF-8 byte sequences with the Unicode replacement character (U+FFFD). This behavior differs from GNU comm, which processes raw bytes and preserves the original input. This results in corrupted output when the utility is used to compare binary files or files using non-UTF-8 legacy encodings.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-35346
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 07:55 UTC · Revision 1
Source evidence
uutils coreutils comm Silent Data Corruption via Lossy UTF-8 Normalization
core-osv · Original sourcePublished 22 Apr 2026, 16:07 UTC
The comm utility in uutils coreutils silently corrupts data by performing lossy UTF-8 conversion on all output lines. The implementation uses String::from_utf8_lossy(), which replaces invalid UTF-8 byte sequences with the Unicode replacement character (U+FFFD). This behavior differs from GNU comm, which processes raw bytes and preserves the original input. This results in corrupted output when the utility is used to compare binary files or files using non-UTF-8 legacy encodings.
osv:CVE-2026-35346
Complete source record
{
"id": "5c96711608fc4c4b3a28db20d234f76260a694918e517f6b7c3cd7252825b672",
"url": "https://osv.dev/vulnerability/CVE-2026-35346",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "uutils coreutils comm Silent Data Corruption via Lossy UTF-8 Normalization",
"summary": "The comm utility in uutils coreutils silently corrupts data by performing lossy UTF-8 conversion on all output lines. The implementation uses String::from_utf8_lossy(), which replaces invalid UTF-8 byte sequences with the Unicode replacement character (U+FFFD). This behavior differs from GNU comm, which processes raw bytes and preserves the original input. This results in corrupted output when the utility is used to compare binary files or files using non-UTF-8 legacy encodings.",
"evidence": "osv:CVE-2026-35346",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2026-35346",
"aliases": [
"CVE-2026-35346",
"GHSA-6gcw-w7cp-94g9"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/uutils/coreutils",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "2319a99057d11b0c9744c885df84806eea019166"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.6.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"fixed": "2319a99057d11b0c9744c885df84806eea019166"
}
],
"source": "REFERENCES_TAG",
"original_tag": "0.6.0"
},
{
"cpe": "cpe:2.3:a:uutils:coreutils:*:*:*:*:*:rust:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.6.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"latest-commit",
"0.5.0",
"0.4.0",
"0.3.0",
"0.2.2",
"0.2.0",
"0.1.0",
"0.0.30-delete",
"0.0.30",
"0.0.29",
"0.0.28",
"0.0.27",
"0.0.26",
"0.0.25",
"0.0.24",
"0.0.23",
"0.0.22",
"0.0.21",
"0.0.20",
"0.0.19",
"0.0.18",
"0.0.17",
"0.0.16",
"0.0.15",
"0.0.14",
"0.0.13",
"0.0.12",
"0.0.9",
"0.0.8",
"0.0.7",
"0.0.6",
"0.0.5",
"0.0.3",
"0.0.2",
"0.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-35346.json"
}
}
],
"modified": "2026-10-28T02:30:33.796336131Z",
"provider": "osv",
"references": [
"https://github.com/uutils",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35346.json",
"https://github.com/uutils/coreutils/releases/tag/0.6.0",
"https://nvd.nist.gov/vuln/detail/CVE-2026-35346",
"https://github.com/uutils/coreutils/issues/10192",
"https://github.com/uutils/coreutils/pull/10206",
"https://github.com/uutils/coreutils"
],
"provider_metadata": {
"cwe_ids": [
"CWE-176"
],
"cna_assigner": "canonical",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35346.json"
}
},
"related_cves": [
{
"value": "CVE-2026-35346",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 501004,
"published_at": "2026-04-22T16:07:51.755+00:00"
}