Reduce $L_c=\{\langle M_1 \rangle, \langle M_2 \rangle):L(M_1)\cap L(M_2)\neq \emptyset\}$ to Universal language

How to reduce $$L_c=\{\langle M_1 \rangle, \langle M_2 \rangle):L(M_1)\cap L(M_2)\neq \emptyset\}$$ to Universal language?

My try: Construct a Turing machine $$N$$ using a Turing Machine $$U$$ that decides universal language as subroutine to decide $$L_c$$. $$N$$, on any input $$<\langle M_1 \rangle, \langle M_2 \rangle >$$:
$$1.$$ Construct a program that generates word $$w \in \sum^\ast$$ in canonical order.
$$2.$$ Run $$U$$ on $$\langle M_1, w\rangle$$ and $$\langle M_2, w\rangle$$.
$$3.$$ If $$U$$ accepts both, accept.
$$4.$$ If not, back to $$1$$.

It seems does not work. Because if $$L(M_1)\cap L(M_2)= \emptyset$$, $$N$$ will loop forever(it just can’t find such $$w$$).