A cubic bezier curve is just a cubic polynomial equation. If you want to find when two cubics intersect, then you want to find when the two cubics are equal, i.e.
a1x3 + b1x2 + c1x + d1 = a2x3 + b2x2 + c2x + d2
Then that's the same as finding the roots of the cubic equation
(a1 - a2)x3 + (b1 - b2)x2 + (c1 - c2)x + (d1 - d2) = 0
Cubic equations, like that can be solved analytically, see e.g. Cardano's method. Alternatively, a method such as Newton–Raphson can be used to iterate to the solution. Beware, though, cubics can have up to 3 points where they're equal to zero.