Kramdown before 2.3.1 does not restrict Rouge formatters to the Rouge::Formatters namespace, and thus arbitrary classes can be instantiated.
about.gitlab.com/releases/2021/03/17/security-release-gitlab-13-9-4-released/#remote-code-execution-via-unsafe-user-controlled-markdown-rendering-options
github.com/gettalong/kramdown/compare/REL_2_3_0...REL_2_3_1
github.com/gettalong/kramdown/pull/708
github.com/stanhu/kramdown/commit/d6a1cbcb2caa2f8a70927f176070d126b2422760
github.com/stanhu/kramdown/commit/ff0218aefcf00cd5a389e17e075d36cd46d011e2
gitlab.com/gitlab-org/gitlab/-/commit/179329b5c3c118924fb242dc449d06b4ed6ccb66
lists.fedoraproject.org/archives/list/[email protected]/message/NJCJVYHPY6LNUFM6LYZIAUIYOMVT5QGV
lists.fedoraproject.org/archives/list/[email protected]/message/S3BBLUIDCUUR3NEE4NJLOCCAV3ALQ3O6
lists.fedoraproject.org/archives/list/[email protected]/message/SYOLQKFL6IJCQLBXV34Z4TI4O54GESPR
nvd.nist.gov/vuln/detail/CVE-2021-28834
www.debian.org/security/2021/dsa-4890