cyrus-imapd: Fix of CVE-2026-61915
- fix CVE-2026-61915: double-free in the CalDAV VPATCH BYPARAM selector, reachable by an authenticated calendar user patching a resource with two or more properties of the matched kind - disable the cassandane test runner by default: its harness (imaptest plus the perl test modules) is absent from the centos-stream8 repositories on every architecture; the cunit suite continues to run on all architectures - do not free VPATCH parameters already removed by reference: the parameter stays owned by libical after icalproperty_remove_parameter_by_ref(), so the following icalparameter_free() double-freed it and aborted the CalDAV worker on any VPATCH carrying a PATCH-ACTION parameter, before the CVE-2026-61915 code path could be reached - use strcmpsafe/strncmpsafe for PATCHACTION string matching: icalparameter_get_xvalue() and icalproperty_get_value_as_string() may return NULL on the same VPATCH path
- Products
- cyrus-imapd, cyrus-imapd-devel, cyrus-imapd-doc-extra, cyrus-imapd-utils, cyrus-imapd-vzic
- Affected versions
- Not specified
- Fixed versions
- 3.0.7-24.el8.tuxcare.els1
- CVEs
- CVE-2026-61915
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 10:47 UTC · Revision 1
Source evidence
- fix CVE-2026-61915: double-free in the CalDAV VPATCH BYPARAM selector, reachable by an authenticated calendar user patching a resource with two or more properties of the matched kind - disable the cassandane test runner by default: its harness (imaptest plus the perl test modules) is absent from the centos-stream8 repositories on every architecture; the cunit suite continues to run on all architectures - do not free VPATCH parameters already removed by reference: the parameter stays owned by libical after icalproperty_remove_parameter_by_ref(), so the following icalparameter_free() double-freed it and aborted the CalDAV worker on any VPATCH carrying a PATCH-ACTION parameter, before the CVE-2026-61915 code path could be reached - use strcmpsafe/strncmpsafe for PATCHACTION string matching: icalparameter_get_xvalue() and icalproperty_get_value_as_string() may return NULL on the same VPATCH path
osv:CLSA-2026-1790769478
cyrus-imapd
Fixed versions: 3.0.7-24.el8.tuxcare.els1
cyrus-imapd-devel
Fixed versions: 3.0.7-24.el8.tuxcare.els1
cyrus-imapd-doc-extra
Fixed versions: 3.0.7-24.el8.tuxcare.els1
cyrus-imapd-utils
Fixed versions: 3.0.7-24.el8.tuxcare.els1
cyrus-imapd-vzic
Fixed versions: 3.0.7-24.el8.tuxcare.els1
Complete source record
{
"id": "441247d10263b03aa27f04a5fde4f0d4332a63ae4de57e4b95abea881a524be9",
"url": "https://osv.dev/vulnerability/CLSA-2026-1790769478",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "cyrus-imapd: Fix of CVE-2026-61915",
"summary": "- fix CVE-2026-61915: double-free in the CalDAV VPATCH BYPARAM selector, reachable by an authenticated calendar user patching a resource with two or more properties of the matched kind - disable the cassandane test runner by default: its harness (imaptest plus the perl test modules) is absent from the centos-stream8 repositories on every architecture; the cunit suite continues to run on all architectures - do not free VPATCH parameters already removed by reference: the parameter stays owned by libical after icalproperty_remove_parameter_by_ref(), so the following icalparameter_free() double-freed it and aborted the CalDAV worker on any VPATCH carrying a PATCH-ACTION parameter, before the CVE-2026-61915 code path could be reached - use strcmpsafe/strncmpsafe for PATCHACTION string matching: icalparameter_get_xvalue() and icalproperty_get_value_as_string() may return NULL on the same VPATCH path",
"evidence": "osv:CLSA-2026-1790769478",
"products": [
{
"name": {
"value": "cyrus-imapd",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.0.7-24.el8.tuxcare.els1",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "cyrus-imapd-devel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.0.7-24.el8.tuxcare.els1",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "cyrus-imapd-doc-extra",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.0.7-24.el8.tuxcare.els1",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "cyrus-imapd-utils",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.0.7-24.el8.tuxcare.els1",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "cyrus-imapd-vzic",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.0.7-24.el8.tuxcare.els1",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1790769478",
"aliases": [
"CLSA-2026-1790769478"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.7-24.el8.tuxcare.els1"
}
]
}
],
"package": {
"name": "cyrus-imapd",
"purl": "pkg:rpm/tuxcare/cyrus-imapd?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1790769478.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.7-24.el8.tuxcare.els1"
}
]
}
],
"package": {
"name": "cyrus-imapd-devel",
"purl": "pkg:rpm/tuxcare/cyrus-imapd-devel?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1790769478.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.7-24.el8.tuxcare.els1"
}
]
}
],
"package": {
"name": "cyrus-imapd-doc-extra",
"purl": "pkg:rpm/tuxcare/cyrus-imapd-doc-extra?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1790769478.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.7-24.el8.tuxcare.els1"
}
]
}
],
"package": {
"name": "cyrus-imapd-utils",
"purl": "pkg:rpm/tuxcare/cyrus-imapd-utils?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1790769478.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.0.7-24.el8.tuxcare.els1"
}
]
}
],
"package": {
"name": "cyrus-imapd-vzic",
"purl": "pkg:rpm/tuxcare/cyrus-imapd-vzic?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1790769478.json"
}
}
],
"modified": "2026-10-26T09:30:56.554912895Z",
"provider": "osv",
"upstream": [
"CVE-2026-61915"
],
"references": [
"https://errata.tuxcare.com/els_os/centos-stream8els/CLSA-2026-1790769478.html",
"https://nvd.nist.gov/vuln/detail/CVE-2026-61915"
]
},
"related_cves": [
{
"value": "CVE-2026-61915",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 447351,
"published_at": "2026-09-30T11:58:08+00:00"
}