Accent CMS 0.27.5 — safer diagrams and licence command fixes
Accent CMS 0.27.5 is available. It is a security and bug-fix release for the 0.27 line, and it does not contain the 0.28 development work. A licence with a 0.27 ceiling covers it.
You do not have to change your site or theme. Diagrams that were cached before the upgrade are rendered again once, so the first build or page view after it can take a little longer.
Security
Diagrams cannot carry script into a page. A Mermaid style, classDef
or linkStyle value with a quote in it could add an event handler to the
rendered diagram, and a click link could use any scheme, javascript:
included. If you publish pages from a remote mount, its raw HTML is escaped,
but diagrams render after that step, so a third party could publish script
through a mermaid block. The Mermaid renderer now refuses such values and
links. Accent also filters every server-rendered diagram, from Mermaid,
Svgbob or a plugin, before it reaches the page: only SVG drawing elements are
kept, and event handlers, unsafe links and stylesheets that load from other
hosts are removed. If you write a diagram plugin, emit plain SVG with
<text> labels: HTML inside the SVG, <foreignObject> included, is removed.
Webhook signatures are compared in constant time again. A dependency could turn the comparison behind git and CDN webhook signatures and preview tokens into code whose timing depends on the data. That timing is what an attempt to forge a signature measures. Accent now uses the fixed version.
Fixes
accent license activatefails when it refuses a key. An empty or invalid key printed an error but exited with status 0, so a CI job that installs a key could not tell it failed. It now exits with status 1.buyandrenewdo the same when the key they receive is refused or never arrives.accent license deactivateremoves any key inconfig.yaml. An invalid or expired key was reported as “no licence key configured” and stayed in the file. WhenACCENTCMS_LICENSEis set, the command now says the server keeps using that key.accent license renewandrefundwork outside a site directory, with the key inACCENTCMS_LICENSE, asstatusalready did.accent license refundopens the right customer portal. It opened an address that does not exist.- The
accent license buyedition prompt no longer chooses for you. An empty or unknown answer selected Standard; the prompt now asks again, and a run without a terminal must pass--edition. - Docs pages are described as technical articles. Pages under
/docs/with a date and an author were marked up as blog posts for search engines; they are nowTechArticle.
Install or upgrade
curl -fsSL https://accentcms.dev/install.sh | sh
Binaries for all platforms, checksums and signatures are on the GitHub release page.