Microsoft patches three critical security problems