Security advisory
A use-after-free condition exists in pglogical's worker signaling code, where a worker structure can be dereferenced after the underlying slot has been freed or recycled during normal worker lifecycle events. The condition is reachable during normal replication operation, including by a low-privileged user able to influence worker start, stop, and restart timing through permitted pglogical operations. In the typical case the condition crashes replication workers, causing an availability impact. In the worst case a use-after-free in a PostgreSQL backend can be leveraged as a remote code execution primitive at the privilege of that backend.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-50738
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 09:42 UTC · Revision 1
Source evidence
A use-after-free condition exists in pglogical's worker signaling code, where a worker structure can be dereferenced after the underlying slot has been freed or recycled during normal worker lifecycle events. The condition is reachable during normal replication operation, including by a low-privileged user able to influence worker start, stop, and restart timing through permitted pglogical operations. In the typical case the condition crashes replication workers, causing an availability impact. In the worst case a use-after-free in a PostgreSQL backend can be leveraged as a remote code execution primitive at the privilege of that backend.
osv:CVE-2026-50738
Complete source record
{
"id": "178eb4c5ce4b1bc508c09ac262b001202f860bba83d3a226adac78fee0a8bd40",
"url": "https://osv.dev/vulnerability/CVE-2026-50738",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2026-50738",
"summary": "A use-after-free condition exists in pglogical's worker signaling code, where a worker structure can be dereferenced after the underlying slot has been freed or recycled during normal worker lifecycle events. The condition is reachable during normal replication operation, including by a low-privileged user able to influence worker start, stop, and restart timing through permitted pglogical operations. In the typical case the condition crashes replication workers, causing an availability impact. In the worst case a use-after-free in a PostgreSQL backend can be leveraged as a remote code execution primitive at the privilege of that backend.",
"evidence": "osv:CVE-2026-50738",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-50738",
"aliases": [
"CVE-2026-50738"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/2ndquadrant/pglogical",
"type": "GIT",
"events": [
{
"introduced": "a23c44acb46cfa0e47b6f2eb54d822c475c03c89"
},
{
"fixed": "9a0e182745885ad0152ea387988c95a483396a81"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:enterprisedb:pglogical:*:*:*:*:*:postgresql:*:*",
"range": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.4.8"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"REL2_4_7",
"REL2_4_6",
"REL2_4_5",
"REL2_4_4",
"REL2_4_3",
"REL2_4_2",
"REL2_4_1",
"REL2_4_0",
"REL2_3_4",
"REL2_3_3",
"REL2_3_2",
"REL2_3_1",
"REL2_3_0",
"REL2_2_2",
"REL2_2_1",
"REL2_2_0",
"REL2_1_1",
"REL2_1_0",
"REL2_0_1",
"REL2_0_0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-50738.json"
}
}
],
"modified": "2026-10-25T02:30:52.390818603Z",
"provider": "osv",
"references": [
"https://www.enterprisedb.com/docs/security/advisories/cve202650738/"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2026-50738",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 444564,
"published_at": "2026-07-28T19:17:36.967+00:00"
}