The aim of the reaction is to attach a carbonil group on an aromatic system. Here is the overall reaction:
This reaction doesn't work on unactivated (even the least unactivated). For example, we absolutely couldn't carry this reaction on a nitro-benzene. The utilization of cuprous chloride isn't always necessary.
Let's have a look to how this reaction actually takes place:
First of all the reactive species (the one that will react on the aromatic ring) is generated thanks the acid. Carbon monoxide can accept a proton from HCl (it's a Lewis base, as you can notice from the structure):
The result is a positively charged molecul for which we can write to different resonance structures. One of these structures shows a positive charge on the carbon, and in spite of this is the less describing structure explains the reactivity of the hybrid (n.b. charges are bettere "standed" by heteroatom). This species could be ready to react with the aromatic ring as an electrophile (E+) but is more likely to suffer the nucleophile attack from the chloride ion (deriving from HCl):
That's why also a Lewis acid is added: the chloride is readily removed from AlCl3 and this gives us back the reactive molecule, that we should name "formyl cation". Let's see then the last step of the reaction:
as we expected it to be is nothing but an electrophilic aromatic substitution at the benzene ring. The benzene rings behaves as a nucleophile, giving the formyl cation an electron pair. The aromaticity is temporary lost, and this is quicky solved expelling a proton.