Etherpad is a real-time collaborative editor. Prior to 3.1.0, src/node/handler/ImportHandler.ts and src/node/handler/ExportHandler.ts derive temporary filenames from Math.random() and place them in os.tmpdir(). On a host with a shared world-writable temporary directory, a local unprivileged attacker who predicts a filename can precreate a symbolic link to a file writable by the Etherpad process. Subsequent import or export operations can follow the link through fs.writeFile, fs.rename, or document-conversion output and overwrite the target with partially attacker-controlled content. This issue is fixed in version 3.1.0.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-377",
"CWE-59"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55086.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "3.1.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "8c6104c5d5daf41f0d454acc04d42dffa0e0d996"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v3.1.0",
"range": [
{
"fixed": "fa1c6b2e43d0510c851643cb7ba67cf042331a37"
}
],
"source": "REFERENCES_TAG"
}
]
}