Canada has several options. The one that's most feasible in terms of both allowing the legalization of cannabis and not breaking international law would be to actually withdraw from the existing treaties. Certainly the government would be able to, for example, decriminalize cannabis. That would be allowed under the treaties. Also, like the Netherlands, the government could decide not to enforce the treaties. That would be allowed under international law. The current proposal is to legalize and regulate cannabis, which would not be possible under the three treaties as currently written.
On September 14th, 2017. See this statement in context.