aboutsummaryrefslogtreecommitdiff
path: root/MANUAL.txt
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2025-03-12 09:02:37 -0700
committerJohn MacFarlane <[email protected]>2025-03-12 09:02:37 -0700
commit67edf7ce7cd3563a180ae44bd122b012e22364f8 (patch)
treef0b55871d9d1a9809f6f908cdf0839ae4b7579ae /MANUAL.txt
parentd68f8d2e6705db2e11a987de52f1c9f71fbef80d (diff)
Update Security section in manual.
Alert readers to a threat relating to iframe in HTML. Add LaTeX, Typst to the list of formats that have an `include`. Closes #10682.
Diffstat (limited to 'MANUAL.txt')
-rw-r--r--MANUAL.txt25
1 files changed, 17 insertions, 8 deletions
diff --git a/MANUAL.txt b/MANUAL.txt
index d57682318..59178d8d8 100644
--- a/MANUAL.txt
+++ b/MANUAL.txt
@@ -7638,11 +7638,11 @@ For full documentation, see the [pandoc-lua] man page.
writer could in principle do anything on your file system. Please
audit filters and custom writers very carefully before using them.
-2. Several input formats (including HTML, Org, and RST) support `include`
- directives that allow the contents of a file to be included in the
- output. An untrusted attacker could use these to view the contents of
- files on the file system. (Using the `--sandbox` option can
- protect against this threat.)
+2. Several input formats (including LaTeX, Org, RST, and Typst)
+ support `include` directives that allow the contents of a file to be
+ included in the output. An untrusted attacker could use these
+ to view the contents of files on the file system. (Using the
+ `--sandbox` option can protect against this threat.)
3. Several output formats (including RTF, FB2, HTML with
`--self-contained`, EPUB, Docx, and ODT) will embed encoded
@@ -7652,7 +7652,16 @@ For full documentation, see the [pandoc-lua] man page.
against this threat, but will also prevent including images in
these formats.)
-4. If your application uses pandoc as a Haskell library (rather than
+4. In reading HTML files, pandoc will attempt to include the
+ contents of `iframe` elements by fetching content from the
+ local file or URL specified by `src`. If untrusted HTML is
+ processed on a server, this has the potential to reveal anything
+ readable by the process running the server. Using the `-f html+raw_html`
+ will mitigate this threat by causing the whole `iframe`
+ to be parsed as a raw HTML block. Using `--sandbox will also
+ protect against the threat.
+
+5. If your application uses pandoc as a Haskell library (rather than
shelling out to the executable), it is possible to use it in a mode
that fully isolates pandoc from your file system, by running the
pandoc operations in the `PandocPure` monad. See the document
@@ -7660,7 +7669,7 @@ For full documentation, see the [pandoc-lua] man page.
for more details. (This corresponds to the use of the `--sandbox`
option on the command line.)
-5. Pandoc's parsers can exhibit pathological performance on some
+6. Pandoc's parsers can exhibit pathological performance on some
corner cases. It is wise to put any pandoc operations under
a timeout, to avoid DOS attacks that exploit these issues.
If you are using the pandoc executable, you can add the
@@ -7670,7 +7679,7 @@ For full documentation, see the [pandoc-lua] man page.
to pathological performance than the `markdown` parser, so
it is a better choice when processing untrusted input.
-6. The HTML generated by pandoc is not guaranteed to be safe.
+7. The HTML generated by pandoc is not guaranteed to be safe.
If `raw_html` is enabled for the Markdown input, users can
inject arbitrary HTML. Even if `raw_html` is disabled,
users can include dangerous content in URLs and attributes.