Both Viton and Buna-N will swell like mad when exposed to CO2, however I will say from experience that the actual rate of permeation (i.e. loss of CO2) for Buna-N is so low as to be negligible. For example, several times I’ve left a partial 12gr cartridge in over the winter months and pulled it back out in the spring and the POI was still spot on. I don’t know about Viton but on paper it’s supposed to be fine as well. That means they will do fine for static O-rings but you’ll have to make other plans if you have a removable end cap with an O-ring. It will be swollen so you’d want to either use a polyurethane there, or have a spare Buna-N or Viton to swap out (set the original aside for a few hours and it will return to normal size where you can use it again).
BTW a higher durometer reduces permeability, whatever the material, so go with 90 durometer for CO2 when possible.
My personal preference for my mixed stable having several of both air (PCP) and CO2, is to keep Buna-N on hand. Viton swells in the presence of air as well whereas Buna-N does not so that removes one inconvenience. Buna-N also withstands abrasion better for things like bolt O-rings or pump rods. Lastly, Buna-N can be found in almost any conceivable size (inch or metric) and durometer, available from more sources, and costs less. FWIW, I used to favor Viton on account of its shelf life rating but eventually I began noticing that they didn’t tend to last noticeably longer in practice. Your mileage may vary.