Ola, AFAIK CVS has no reliable way to preserve file permissions. What
you are seeing is more or less normal. I never bothered to track the
details down, but presumably your umask is set in such a way that CVS
makes the files read only. Or something.
If you figure out or track down a full explanation of just how CVS
ends up assigning file permissions to newly checked out or updated
files, please let me know. That would help avoid annoyances like the
one you just experienced.
But if you need reliable, reproduceable, specific permissions
on specific files (in your case you don't), then AFAIK the
only way to guarantee that with CVS is to write a little script that
bashes permissions on each of the specific files you care about.