One solution is to have a third party software that handles the state sharing between the different platforms (ie Oracle Coherence) and implement some sort of service that uses them. I would not recommend this approach.
Another solution is to create a RESTful service in one of the environments (preferably CQ, since that is easier) and have the other environment consume it. In most cases when "a shared session" has been called for, we have realized that it is not really the session that needs to be shared, but some state. In 98% of the cases, it can be solved by a session cookie, readable from both targets. The 2% that was left was solved by a "middleman" implementation that holds the state, say a shopping basket or user state.