{"id":"CVE-2026-45057","aliases":["EUVD-2026-76764","GHSA-h97m-27fx-42rx","RUSTSEC-2026-0158"],"status":"published","title":"matrix-sdk-ui: Incomplete edit validation","description":"matrix-sdk-ui provides GUI-centric utilities on top of matrix-rust-sdk. The message edit validation logic in the  `matrix-sdk-ui` crate prior to 0.17.0 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrators (or actors with equivalent power) to impersonate or spoof messages as if they were sent by a victim user. `matrix-sdk-ui` 0.17.0 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification. No known workarounds are available.","severity":{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00233,"percentile":0.1428,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-345"],"published":"2026-06-03T12:00:00Z","modified":"2026-11-04T02:47:34Z","fixes":[{"ecosystem":"crates.io","package":"matrix-sdk-ui","fixed_in":["0.16.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"matrix-sdk-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.16.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"matrix-sdk-ui","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.16.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"matrix-sdk-ui","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.16.1"}]}]}],"products":[{"vendor":"matrix-org","product":"matrix-sdk-ui"}],"references":[{"url":"https://github.com/matrix-org/matrix-rust-sdk/security/advisories/GHSA-h97m-27fx-42rx","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/matrix-org/matrix-rust-sdk/pull/6454","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/matrix-org/matrix-rust-sdk/releases/tag/matrix-sdk-0.16.1","tags":["x_refsource_MISC","web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0158.html","tags":["x_refsource_MISC","advisory","web"]},{"url":"https://github.com/advisories/GHSA-h97m-27fx-42rx"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45057.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45057","tags":["advisory"]},{"url":"https://github.com/matrix-org/matrix-rust-sdk","tags":["package"]},{"url":"https://crates.io/crates/matrix-sdk-ui","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-45057","title":"matrix-sdk-ui: Incomplete edit validation","description":"matrix-sdk-ui provides GUI-centric utilities on top of matrix-rust-sdk. The message edit validation logic in the  `matrix-sdk-ui` crate prior to 0.17.0 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrators (or actors with equivalent power) to impersonate or spoof messages as if they were sent by a victim user. `matrix-sdk-ui` 0.17.0 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification. No known workarounds are available.","status":"published","published":"2026-09-11T21:12:17.797Z","modified":"2026-09-14T16:18:19.287Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-345"],"updated_at":"2026-11-02T13:46:32.755125Z"}],"euvd":[{"id":"EUVD-2026-76764","description":"matrix-sdk-ui provides GUI-centric utilities on top of matrix-rust-sdk. The message edit validation logic in the  `matrix-sdk-ui` crate prior to 0.17.0 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrators (or actors with equivalent power) to impersonate or spoof messages as if they were sent by a victim user. `matrix-sdk-ui` 0.17.0 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification. No known workarounds are available.","status":"published","published":"2026-09-11T21:12:17Z","modified":"2026-09-14T16:18:19Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T17:28:20.0825Z"}],"ghsa":[{"id":"GHSA-h97m-27fx-42rx","title":"matrix-sdk-ui: Incomplete edit validation","description":"### Impact\nThe message edit validation logic in the  `matrix-sdk-ui` crate before 0.16.1 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrator (or an actor with equivalent power) to impersonate or spoof messages as if they were sent by a victim user.\n\n### Patches\n`matrix-sdk-ui` 0.16.1 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification.\n\n### Workarounds\nN/A\n\n### References\n* Pull request: https://github.com/matrix-org/matrix-rust-sdk/pull/6454\n\n### For more information\nIf you have any questions or comments about this advisory, please email us at [security at matrix.org](mailto:security@matrix.org).\n\n[^1]: https://spec.matrix.org/unstable/client-server-api/#validity-of-replacement-events","status":"published","published":"2026-06-04T14:50:47Z","modified":"2026-06-04T14:50:47Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-345"],"updated_at":"2026-11-02T14:40:16.698699Z"}],"nvd":[{"id":"CVE-2026-45057","description":"matrix-sdk-ui provides GUI-centric utilities on top of matrix-rust-sdk. The message edit validation logic in the  `matrix-sdk-ui` crate prior to 0.17.0 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrators (or actors with equivalent power) to impersonate or spoof messages as if they were sent by a victim user. `matrix-sdk-ui` 0.17.0 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification. No known workarounds are available.","status":"published","published":"2026-09-11T21:17:09.517Z","modified":"2026-09-30T19:57:08.043Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-345"],"updated_at":"2026-11-02T14:12:46.62721Z"}],"osv":[{"id":"CVE-2026-45057","title":"matrix-sdk-ui: Incomplete edit validation","description":"matrix-sdk-ui provides GUI-centric utilities on top of matrix-rust-sdk. The message edit validation logic in the  `matrix-sdk-ui` crate prior to 0.17.0 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrators (or actors with equivalent power) to impersonate or spoof messages as if they were sent by a victim user. `matrix-sdk-ui` 0.17.0 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification. No known workarounds are available.","status":"published","published":"2026-09-11T21:12:17.797Z","modified":"2026-11-04T02:47:34.99549967Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-345"],"updated_at":"2026-11-04T02:53:45.692342Z"},{"id":"GHSA-h97m-27fx-42rx","title":"matrix-sdk-ui: Incomplete edit validation","description":"### Impact\nThe message edit validation logic in the  `matrix-sdk-ui` crate before 0.16.1 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrator (or an actor with equivalent power) to impersonate or spoof messages as if they were sent by a victim user.\n\n### Patches\n`matrix-sdk-ui` 0.16.1 fixes the message edit validation logic to align with the algorithm for replacement events[^1] described in the Matrix specification.\n\n### Workarounds\nN/A\n\n### References\n* Pull request: https://github.com/matrix-org/matrix-rust-sdk/pull/6454\n\n### For more information\nIf you have any questions or comments about this advisory, please email us at [security at matrix.org](mailto:security@matrix.org).\n\n[^1]: https://spec.matrix.org/unstable/client-server-api/#validity-of-replacement-events","status":"published","published":"2026-06-04T14:50:47Z","modified":"2026-06-04T15:00:08.147473159Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"cwes":["CWE-345"],"updated_at":"2026-11-02T15:46:48.920784Z"},{"id":"RUSTSEC-2026-0158","title":"Incomplete message edit validation in matrix-sdk-ui","description":"The message edit validation logic in the matrix-sdk-ui crate before 0.16.1 is\nmissing a check: when replacing an encrypted event, the replacement event itself\nis not required to be encrypted. This enables a malicious homeserver\nadministrator (or an actor with equivalent power) to impersonate or spoof\nmessages as if they were sent by a victim user.","status":"published","published":"2026-06-03T12:00:00Z","modified":"2026-10-12T18:00:14.300850042Z","cvss":[{"version":"3.1","score":4.9,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:40.430679Z"}]}}
