You can overfit the data if you're tuning the hyperparameters outside the CV loop. Ideally, you'd want to have a two-layer CV loop, whether it's k-fold CV, LOOCV, bootstrapping, or whatever. Occasionally this might be computationally infeasible, but it's the most reliable way to do it.