-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Allow loading dependencies by name #1594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3872b7b
to
4605226
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the security standpoint, this is good for now.
A few notes:
- This is still up for discussion but anything beside ERROR_SUCCESS from WinVerifyTrust should result in an error instead of a warning sometimes. The user always has to option to turn off signature verification if they want, so once it's on, it's either success or failure.
- Might also need review from the TBB team.
- If there are some testing results that we can share, that will be great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to use SearchPathA is good from the security point of view.
dd5a544
to
5e6c672
Compare
Thanks, @egfefey! Then I proceed with productization of this patch. |
6f001d1
to
65b3f89
Compare
81f5e1b
to
6b276c7
Compare
Signed-off-by: Fedotov, Aleksei <[email protected]>
Signed-off-by: Fedotov, Aleksei <[email protected]>
Signed-off-by: Fedotov, Aleksei <[email protected]>
6b276c7
to
d11e413
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall but I didn't review warnings and error codes in details
@aleksei-fedotov Please adjust the description because signature check is now OFF by default. |
81072c0
Description
This PR allows loading dependencies by module name only as it is proposed in this RFC. To strengthen the security and avoid loading malicious code, the signature verification for modules being loaded is also introduced.
However, to avoid breaking compatibility with existing scenarios, the signature verification is disabled by default. To notify about that the following CMake warning appears on the console when
cmake
command is invoked for the first time:, drawing user's attention to this change and allowing to explicitly choose whether user wants unsigned or having incorrect signature modules to be loaded or not.
To avoid loading of such modules, user needs specifying
-DTBB_VERIFY_DEPENDENCY_SIGNATURE=ON
flag in the invocation command of CMake. In this case the warning transforms in a regular status message of the form:If, however, user ignores the warning, the following invocations of
cmake
command show that the signature verification setting remains disabled:The patch also adds optional reporting of dynamic link issues. Examples of the output:
The issues reporting is disabled by default and can be enabled by setting
TBB_DYNAMIC_LINK_WARNING
macro during the build.