This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.
Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.
This is a cross-post of the official security advisory. The official post
contains a signed version with our PGP key, as well.
The Rust Security Response Working Group was recently notified of a security
issue affecting the search feature of mdBook, which could allow an attacker to
execute arbitrary JavaScript code on the page.
The search feature of mdBook (introduced in version 0.1.4) was affected by a
cross site scripting vulnerability that allowed an attacker to execute
arbitrary JavaScript code on an user's browser by tricking the user into typing
a malicious search query, or tricking the user into clicking a link to the
search page with the malicious search query prefilled.
mdBook 0.4.5 fixes the vulnerability by properly escaping the search query.
Mitigations
Owners of websites built with mdBook have to upgrade to mdBook 0.4.5 or greater
and rebuild their website contents with it. It's possible to install mdBook
0.4.5 on the local system with:
cargo install mdbook --version 0.4.5 --force
Acknowledgements
Thanks to Kamil Vavra for responsibly disclosing the vulnerability to us
according to our security policy.
Timeline of events
All times are listed in UTC.
2020-12-30 20:14 - The issue is reported to the Rust Security Response WG
2020-12-30 20:32 - The issue is acknowledged and the investigation began
2020-12-30 21:21 - Found the cause of the vulnerability and prepared the patch
2021-01-04 15:00 - Patched version released and vulnerability disclosed
With versions of the whoami crate >= 0.5.3 and < 1.5.0, calling any of these functions leads to an
immediate stack buffer overflow on illumos and Solaris:
whoami::username
whoami::realname
whoami::username_os
whoami::realname_os
With versions of the whoami crate >= 0.5.3 and < 1.0.1, calling any of the above functions also
leads to a stack buffer overflow on these platforms:
Bitrig
DragonFlyBSD
FreeBSD
NetBSD
OpenBSD
This occurs because of an incorrect definition of the passwd struct on those platforms.
As a result of this issue, denial of service and data corruption have both been observed in the
wild. The issue is possibly exploitable as well.
This vulnerability also affects other Unix platforms that aren't Linux or macOS.