Paulo Fonseca heavily rotated his side for the visit of the Bulgarians but they couldn’t break down a resolute defence and risked going behind against the counter-attacking visitors.
Cluj’s 1-1 draw with Young Boys in the other Group A encounter means Roma are level on four points with the Romanians but second on goal difference, while the other two sides have a point apiece.
Chris Smalling featured for the first time since returning from Manchester United on a permanent deal over the summer, one of eight changes made by Fonseca from the 3-3 draw with AC Milan.
The defender immediately made his presence felt by volleying in a Henrikh Mkhitaryan cross inside four minutes, but the goal was chalked off as the midfielder was offside in the build-up.
CSKA responded with some threatening counter-attacks as Ali Sowe shot wide twice, but Roma created the best chance of the half when Mkhitaryan raced onto a dinked Gonzalo Villar pass and cushioned a volleyed lob onto the top of the cross bar.
The Armenian was Roma’s most dangerous player in the first half but Fonseca opted to take him and Leonardo Spinazzola off at half time for Pedro and Rick Karsdorp, and their attacking threat subsequently dropped off.
CSKA squandered a huge chance to take the lead early in the second half when Pau Lopez parried a header directly into the path of Valentin Antov, but the big centre-back blasted a shot over from seven yards.
The visitors threatened again when Sowe got in behind the Roma defence and drilled an angled finish straight at Lopez, but substitute Lorenzo Pellegrini then drew a sharp save from Gustavo Busatto at the other end and the keeper later denied replacement Edin Dzeko twice from a tight angle.
The Bosnian, who was brought on for the disappointing Borja Mayoral for the final 20 minutes, looked certain to score a late winner when he raced towards an inviting Pedro cross, but the striker missed the ball completely when he just needed to tap into a gaping net.