The first thing I do when yum starts behaving strangely is
# yum clean all
It’s hard to say from the info you’ve given here, but it seems a good guess that your cache and mirror files are corrupt. The above command will help fix that. If it doesn’t work, then post the output of
# yum -v check-update
You can try repairing your rpm db and re-doing the cache
rm -rf /var/lib/rpm/__db.*
rpm --rebuilddb
yum clean all
yum makecache