GitHub Advisoryadvisory · crates.io

GHSA-5r3x-p7xx-x6q5 Comrak AST node data is not validated (GHSL-2023-049)

MEDIUM Published 2023-03-28 Modified 2023-03-28 Official page ↗
Aliases
CVE-2023-28631
Ecosystem
crates.io
Packages
comrak
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weaknesses
CWE-755
Reviewed
2023-03-28

Affected packages

• crates.io comrak: < 0.17.0 → fixed in 0.17.0

Description

Impact 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. Patches 0.17.0 contains adjustments to the AST, storing strings instead of unvalidated byte arrays. Workarounds • Validate UTF-8 correctness of all data when assigning to `&[u8]` and `Vec` fields in the AST. References n/a

Related

Alias · CVE (1)

  • CVE-2023-28631 comrak is a CommonMark + GFM compatible Markdown parser and renderer written in rust. vulnerability

Weakness · CWE (1)

  • CWE-755 Improper Handling of Exceptional Conditions weakness

References