Releases: tokio-rs/tracing
tracing-subscriber 0.3.20
Security Fix: ANSI Escape Sequence Injection (CVE-TBD)
Impact
Previous versions of tracing-subscriber were vulnerable to ANSI escape sequence injection attacks. Untrusted user input containing ANSI escape sequences could be injected into terminal output when logged, potentially allowing attackers to:
- Manipulate terminal title bars
- Clear screens or modify terminal display
- Potentially mislead users through terminal manipulation
In isolation, impact is minimal, however security issues have been found in terminal emulators that enabled an attacker to use ANSI escape sequences via logs to exploit vulnerabilities in the terminal emulator.
Solution
Version 0.3.20 fixes this vulnerability by escaping ANSI control characters in when writing events to destinations that may be printed to the terminal.
Affected Versions
All versions of tracing-subscriber prior to 0.3.20 are affected by this vulnerability.
Recommendations
Immediate Action Required: We recommend upgrading to tracing-subscriber 0.3.20 immediately, especially if your application:
- Logs user-provided input (form data, HTTP headers, query parameters, etc.)
- Runs in environments where terminal output is displayed to users
Migration
This is a patch release with no breaking API changes. Simply update your Cargo.toml:
[dependencies]
tracing-subscriber = "0.3.20"
Acknowledgments
We would like to thank zefr0x who responsibly reported the issue at [email protected]
.
If you believe you have found a security vulnerability in any tokio-rs project, please email us at [email protected]
.
tracing-attributes 0.1.30
Fixed
- Fix
tracing::instrument
regression around shadowing (#3311)
tracing-core 0.1.34
tracing-attributes 0.1.29
tracing-subscriber 0.3.19
tracing-journald 0.3.1
tracing-error 0.2.1
tracing-mock 0.1.0-beta.1
tracing-serde 0.2.0
tracing 0.1.41
This release updates the tracing-core
dependency to v0.1.33 and
the tracing-attributes
dependency to v0.1.28.
Added
Changed
Fixed
- Removed core imports in macros (#2762)
- attributes: Added missing RecordTypes for instrument (#2781)
- attributes: Change order of async and unsafe modifier (#2864)
- Fix missing field prefixes (#2878)
- attributes: Extract match scrutinee (#2880)
- Fix non-simple macro usage without message (#2879)
- Fix event macros with constant field names in the first position (#2883)
- Allow field path segments to be keywords (#2925)
- core: Fix missed
register_callsite
error (#2938) - attributes: Support const values for
target
andname
(#2941) - Prefix macro calls with ::core to avoid clashing with local macros (#3024)