Tosic struggled to make any impression at Old Trafford following his arrival 18 months ago despite consistently featuring in the Serbia national squad.
The winger spent the latter half of last season on loan with FC Cologne, helping the club preserve their Bundesliga status.
Cologne admitted earlier this week that they could not afford to keep the 23-year-old, even though they were keen to do so.
CSKA have far more cash and while United are not disclosing the fee, they would at least get nearer to matching the millions they paid Partizan Belgrade for the youngster.
It was supposed to be part of a double deal, which also included Adem Ljajic.
But United pulled out of that before the January transfer window and, having amassed only five senior appearances for the Red Devils in the 12 months prior to his stint in Cologne, it was always highly unlikely Tosic would remain with the club.