To my knowledge, CF won't affect this unless there is a nutritional deficiency. Might not be BMI though -- have you had his vitamin and electrolyte levels tested recently?
Certain meds can definitely affect muscles, though. Corticosteroids (like prednisone) make it very difficult to add muscle mass. There may be others, I just know that one off hand.
With a four year old, it might just be that he doesn't have a ton of arm/upper body strength because most of his play involves his legs and running around. I'm sure many 4 year olds find push ups a little daunting. Maybe encourage him to play on the monkey bars at your local playground, or even just to practice 10 push ups at home with you at night (you could do them together). I'm pretty in shape, but during the annual fitness test at my elementary school I specifically remember dreading push-ups and chin-ups/pull-ups. There are lots of fun ways for a little boy to build arm strength though.