what I find funny, is your stock cooler is running better than my current after market cooler... most people have different opinions on idle temps.. some say.. if your intel... 40 c idle is perfectly fine, then you get the others who say 30 c idle is better, and some say 40 c is your too high.. take it with a grain of salt.
If you're using the stock cooler, that's actually not too bad. I believe the CPU temperature is what the temps are at the socket (where it plugs in at the board), and the Core temperature is what each individual core temperature is inside the CPU.
40c, while a little high for idle or running just a few programs, is still well within limits. Basically anything below 60c is perfectly acceptable. If you see it start to go over about 60c, such as when you play games or intensive programs, that means your cooler simply isn't enough.
Seeing as your running an 8-core CPU, it's pretty much expected of you to run an aftermarket cooler. It'll give the chip a longer life, and help keep the rest of the system cool as well.
Something like the Coolermaster hyper 212+ or Evo would be a good choice, if it fits in your case. As they're very affordable, yet offer excellent cooling performance.