I guess because it is under-constrained there are infinitely many solutions. You can try NSolve
NSolve[And @@ Thread[polys == 0], vars]
For real solutions
NSolve[And @@ Thread[polys == 0], vars, Reals]
This gives the trivial solution
FindInstance[And @@ Thread[polys == 0], vars, Reals]
I let this run for ~10 min before aborting
FindInstance[And @@ Thread[polys == 0], vars, Reals, 2]