CVE-2026-46671 Details
Description
Rust OneNote File Parser is a parser for Microsoft OneNote files implemented in Rust. Prior to version 1.1.1, a maliciously crafted `.onetoc2` table-of-contents file can cause `Parser::parse_notebook` to open arbitrary files on the host filesystem outside the notebook's directory. The parser reads entry names listed inside the `.onetoc2` and joins them against the notebook's base directory without validating that they are relative paths confined to that directory. The parser will bail out when the target file fails to parse as a OneNote section, so direct content exfiltration through the parser's return value is not practical, though file-existence probing and denial-of-service via large or special files remain possible. Anyone using `onenote_parser` to parse .onetoc2 files received from untrusted sources is affected. Users who only ever parse their own notebooks are not at meaningful risk. The issue is fixed in onenote_parser 1.1.1. The fix rejects absolute paths, parent-directory components, and other invalid path characters in entry names, and additionally canonicalises the resolved path to confirm it stays inside the notebook's base directory. For users who cannot upgrade to 1.1.1, only call `Parser::parse_notebook` on `.onetoc2` files from trusted sources. Alternatively, use `Parser::parse_section` / `Parser::parse_section_buffer` on individual .one files, which do not perform the directory walk.
A path traversal vulnerability has been identified in the Rust OneNote File Parser, specifically in versions prior to 1.1.1. The issue arises when the parser processes a maliciously crafted '.onetoc2' table-of-contents file. The vulnerability allows the parser to access arbitrary files on the host filesystem, outside the notebook's directory. This occurs because the parser does not properly validate entry names in the '.onetoc2' file, allowing for exploitation by joining these names with the notebook's base directory and potentially accessing sensitive files.
Users can upgrade to version 1.1.1 of the Rust OneNote File Parser, which addresses the vulnerability by rejecting absolute paths, parent-directory components, and other invalid path characters in entry names. For those unable to upgrade, it is recommended to only parse '.onetoc2' files from trusted sources or to use 'Parser::parse_section' or 'Parser::parse_section_buffer' on individual '.one' files, which do not traverse directories.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Jul 20, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/msiemens/onenote.rs/blob/master/CHANGELOG.md#111---2026-05-15 | [email protected] | Release Notes |
| https://github.com/msiemens/onenote.rs/commit/c9267b2c96e2542be7e7b557d67318e81b733585 | [email protected] | Patch |
| https://github.com/msiemens/onenote.rs/releases/tag/v1.1.1 | [email protected] | ProductRelease Notes |
| https://github.com/msiemens/onenote.rs/security/advisories/GHSA-4j5m-wc25-pvh7 | [email protected] | PatchRelease NotesVendor AdvisoryMitigation |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| msiemens rust onenote file parser | < 1.1.1 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 18, 2026 | Initial Analysis | [email protected] |
| Jul 20, 2026 | CVE Modified | CISA-ADP |
| Jul 20, 2026 | New CVE Received | [email protected] |