The Exchange owner should not be able to call executeTransaction or batchExecuteTransaction  Won't Fix
If the owner calls either of these functions, the resulting `delegatecall` can pass `onlyOwner` modifiers even if the transaction signer is not the owner. This is because, regardless of the `contextAddress` set through `_executeTransaction`, the `onlyOwner` modifier checks `msg.sender`.\\n`_executeTransaction` sets the context address to the signer address, which is not `msg.sender` in this case:\\n```\\n// Set the current transaction signer\\naddress signerAddress = transaction.signerAddress;\\n\\_setCurrentContextAddressIfRequired(signerAddress, signerAddress);\\n```\\n\\nThe resulting `delegatecall` could target an admin function like this one:\\n```\\n/// @dev Registers an asset proxy to its asset proxy id.\\n/// Once an asset proxy is registered, it cannot be unregistered.\\n/// @param assetProxy Address of new asset proxy to register.\\nfunction registerAssetProxy(address assetProxy)\\n    external\\n    onlyOwner\\n{\\n    // Ensure that no asset proxy exists with current id.\\n    bytes4 assetProxyId = IAssetProxy(assetProxy).getProxyId();\\n    address currentAssetProxy = \\_assetProxies[assetProxyId];\\n    if (currentAssetProxy != address(0)) {\\n        LibRichErrors.rrevert(LibExchangeRichErrors.AssetProxyExistsError(\\n            assetProxyId,\\n            currentAssetProxy\\n        ));\\n    }\\n  \\n    // Add asset proxy and log registration.\\n    \\_assetProxies[assetProxyId] = assetProxy;\\n    emit AssetProxyRegistered(\\n        assetProxyId,\\n        assetProxy\\n    );\\n}\\n```\\n\\nThe `onlyOwner` modifier does not check the context address, but checks msg.sender:\\n```\\nfunction \\_assertSenderIsOwner()\\n    internal\\n    view\\n{\\n    if (msg.sender != owner) {\\n        LibRichErrors.rrevert(LibOwnableRichErrors.OnlyOwnerError(\\n            msg.sender,\\n            owner\\n        ));\\n    }\\n}\\n```\\n
Add a check to `_executeTransaction` that prevents the owner from calling this function.
```\\n// Set the current transaction signer\\naddress signerAddress = transaction.signerAddress;\\n\\_setCurrentContextAddressIfRequired(signerAddress, signerAddress);\\n```\\n