If cvx has specific requirements for the data value?

When using cvx, I noticed that when certain parameter values are set to be very small or very large, cvx fails to obtain the correct solution. Specifically, in the code provided below, the optimization variable ‘a’ should be set to 0 in order to maximize the objective function, but the result shows that ‘a’ is a number close to 1. However, if the parameter ‘kn’ is changed from 10^-27 to 10^-9 or a larger value, the correct solution is obtained. I would like to know why this happens. If cvx has specific requirements for the data value during computation, what is the specific range? How can I avoid this issue?

Here is my code:
N = 8;
kn = 10^-27;

cvx_begin
variable a
maximize (((1-a)/kn)^(1/3));
subject to
a>=0
a<=1

cvx_end

The double precision solvers called by CVX don’t work reliablyy with extreme numbers. All non-zero input data should be within a small number of orders of magnitude of one.

Thank you for your response. It‘s very helpful.