Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.4.0 Beta3
Description
ActiveQt is blindly smashing any Qt::Usertype compatible object (including any IUnknown, IDispatch, etc.) into a void pointer and passing it into the dispatch method.
Pointer smashing in this way might even be considered a security vulnerability, which could allow an arbitrary code execution.
ActiveQt should only call the dispatch method if the types match – ActiveQt already knows the ptype, and if the ptype doesn't match the signature of the method we're going to call, then ActiveQt should fail the call with ERROR_INVALID_PARAMETER or something.
In a case, a dispatch method received the QAxServerBase class, the wrong type entirely, instead of being rejected.
Attachments
Issue Links
- relates to
-
QTBUG-106014 ActiveQt fails to handle VT_UNKNOWN
-
- Closed
-