LaTeX-documentexport laat wiskunde, href en afbeeldingspaden ongefilterd door #1641
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#1641
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat er misgaat
De document-LaTeX-export belooft een veilig, zelfstandig artefact. Drie gaten in
lib/services/latex/markdown_to_latex.dart:_escapeTextschrijft$…$en$$…$$verbatim. Inhoud als\input{/etc/passwd}of\write18{…}(bij-shell-escape) gaat ongewijzigd de.texin._escapeUrl. Alleen%en#worden geëscaped.javascript:,file:endata:worden\href{javascript:…}._escapeImagePath. Alleen backslash → slash. Een pad met}of%kan uit het\includegraphics{…}-argument breken.HTML-export gaat door DOMPurify+CSP; dit pad niet. De gebruiker kan de markup ná het openen typen (de veiligheidsscan bij openen vangt dan niets meer).
Stappen
Document met
$ \input{/etc/passwd} $of[x](javascript:alert(1))exporteren als LaTeX; inspecteer de.tex.Wat het met het formaat doet
De
.texis geen data meer maar TeX-bron met de rechten van wie hem compileert.Regressie
Tests die
\,\input,javascript:en}in math/url/pad verwachten als geëscapete of geweigerde uitvoer.