git2 Rust package suppresses ssh host key checking
By default, when accessing an ssh repository
(ie via an ssh: git repository url)
the git2 Rust package does not do any host key checking.
Additionally,
the provided API is not sufficient for a an application
to do meaningful checking itself.
When connecting to an ssh repository,
and when an attacker can redirect the connection
(performing a malice-in-the-middle attack)
an affected application might:
exposing the local system (and whatever happens next)
to malicious data.
In many circumstances,
this could readily lead to privilege escalation.
rather than to the intended recipient.
If the information is not supposed to be public,
this would constitute an information leak.
Also, since the data doesn't arrive where intended,
it constitutes a denial of service.
The git2 Rust package (henceforth, git2-rs)
unconditionally calls the underlying C libgit2 functions to set
an ssh certificate check callback.
The Rust package uses this to offer
the ability for the application to set a callback to a Rust function.
The C-level callback function provided by git2-rs 0.15.0 and earlier:
is_valid argument provided by libgit2,which indicates whether libgit2 considers the host key valid
returns code 0,
indicating to libgit2 to override libgit2's determination
and treat the host key as valid.
for examining the supplied host key,
and doesn't tell the application
whether libgit2's checks succeeded,
so it is difficult for the application cannot work around the problem.
Upgrade to git2-rs 0.16.x.
The default behaviour in 0.16.x is to
honour libgit2's validity determination.
Note that adding this previously skipped check
may cause existing setups to stop working.
This bug manifested in cargo where it was assigned CVE-2022-46176.
The same bug exists in other applications which use
affected versions of git2-rs
unless they never try to access git repositories with ssh: urls.
RUSTSEC-2023-0002 is recorded against 1 package.
Published on 12 January 2023 and last revised on 9 February 2023. No public exploit is currently recorded for this entry. Record sourced from OSV.
crates.io (Package)
rustsec.org (Advisory)
github.com (Web)
blog.rust-lang.org (Web)
git2 has other advisories on record. If you are patching this one, these are worth checking on the same host:
Details
Affected Packages
| Software | From version | Fixed in |
|---|---|---|
| git2 | — | — |
References
Similar Threats
Free Vulnerability Check
BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against RUSTSEC-2023-0002 and other known CVE records.
Scan My Site Free →No credit card required · Results in minutes
ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.
Stay up to date with the latest from Boteraser.
We use cookies to improve your experience on our site. By using our site, you consent to cookies.
Manage your cookie preferences below:
Essential cookies enable basic functions and are necessary for the proper function of the website.
CloudFlare provides web performance and security solutions, enhancing site speed and protecting against threats.
Service URL: developers.cloudflare.com (opens in a new window)
These cookies are needed for adding comments on this website.
These cookies are used for managing login functionality on this website.
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a powerful tool that tracks and analyzes website traffic for informed marketing decisions.
Service URL: policies.google.com (opens in a new window)
You can find more information in our Cookie Policy and Privacy Policy.