A Comrak AST can be constructed manually by a program instead of parsing a Markdown document with parse_document. This AST can then be converted to HTML via html::format_document_with_plugins. However, the HTML formatting code assumes that the AST is well-formed. For example, many AST notes contain [u8] fields which the formatting code assumes is valid UTF-8 data. Several bugs can be triggered if this is not the case.
0.17.0 contains adjustments to the AST, storing strings instead of unvalidated byte arrays.
&[u8] and Vec<u8> fields in the AST.n/a
{
"github_reviewed": true,
"github_reviewed_at": "2023-03-28T14:45:28Z",
"nvd_published_at": "2023-03-28T21:15:00Z",
"cwe_ids": [
"CWE-755"
],
"severity": "MODERATE"
}