{"id":"CVE-2026-50190","aliases":["DEBIAN-CVE-2026-50190","EUVD-2026-63551","GHSA-xm98-h5jj-64xv","UBUNTU-CVE-2026-50190"],"status":"published","title":"Shaarli vulnerable to stored XSS via raw bookmark title in document \u003ctitle\u003e element on public permalink page","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","severity":{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00436,"percentile":0.38244,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-08-20T18:49:48Z","modified":"2026-10-28T02:31:03Z","affected":[{"source":"osv","ecosystem":"Debian:12","package":"shaarli","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.12.1+dfsg-8","0.12.1+dfsg-8+deb12u1","0.12.1+dfsg-8+deb12u2","0.13.0+dfsg-1","0.13.0+dfsg-2","0.13.0+dfsg-3","0.13.0+dfsg-4","0.13.0+dfsg-5","0.14.0+dfsg-1","0.14.0+dfsg-2","0.15.0+dfsg-1","0.16.1+dfsg-1"]},{"source":"osv","ecosystem":"Debian:13","package":"shaarli","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.14.0+dfsg-1","0.14.0+dfsg-2","0.14.0+dfsg-2+deb13u1","0.15.0+dfsg-1","0.16.1+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"shaarli","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.0.42~beta~dfsg1-2","0.0.42~beta~dfsg1-2ubuntu1"]}],"products":[{"vendor":"shaarli","product":"shaarli"}],"references":[{"url":"https://github.com/shaarli/Shaarli/security/advisories/GHSA-xm98-h5jj-64xv","tags":["x_refsource_CONFIRM","exploit","advisory","report"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50190.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-50190","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-50190","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-50190","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-50190","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-50190","title":"Shaarli vulnerable to stored XSS via raw bookmark title in document \u003ctitle\u003e element on public permalink page","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","status":"published","published":"2026-08-20T18:49:48.952Z","modified":"2026-08-20T19:02:02.984Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:20:09.098623Z"}],"euvd":[{"id":"EUVD-2026-63551","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","status":"published","published":"2026-08-20T18:49:48Z","modified":"2026-08-20T19:02:02Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T18:01:38.846525Z"}],"nvd":[{"id":"CVE-2026-50190","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","status":"published","published":"2026-08-20T19:16:53.907Z","modified":"2026-10-26T10:10:00.14Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:40.302911Z"}],"osv":[{"id":"CVE-2026-50190","title":"Shaarli vulnerable to stored XSS via raw bookmark title in document \u003ctitle\u003e element on public permalink page","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","status":"published","published":"2026-08-20T18:49:48.952Z","modified":"2026-10-28T02:31:03.540821301Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:45:07.431113Z"},{"id":"DEBIAN-CVE-2026-50190","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","status":"published","published":"2026-08-20T19:16:53.907Z","modified":"2026-10-27T09:47:29.658037173Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"}],"updated_at":"2026-11-02T15:45:56.877408Z"},{"id":"UBUNTU-CVE-2026-50190","description":"Shaarli is a personal bookmarking service. Versions prior to 0.16.3 are vulnerable to stored XSS in `application/front/controller/visitor/BookmarkListController.php`. The `permalink` handler concatenates the raw `$bookmark-\u003egetTitle()` into the `pagetitle` template variable and the RainTPL template emits it into the document `\u003ctitle\u003e` element without HTML escaping. A bookmark title containing `\u003c/title\u003e\u003cscript\u003e...\u003c/script\u003e` closes the document title early and the injected script executes in the Shaarli origin for any visitor of `/shaare/{hash}`. Shaarli's metadata fetcher copies a remote page's `\u003ctitle\u003e` text verbatim into the local bookmark title, so an attacker who hosts an attacker-controlled URL and convinces an administrator to bookmark it plants the payload with no further interaction — and the resulting permalink fires for every visitor including the administrator on first save, providing a one-shot administrator account takeover. Version 0.16.3 fixes the issue.","status":"published","published":"2026-08-20T19:16:00Z","modified":"2026-09-02T19:36:24.724607324Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T16:56:33.391918Z"}]}}
