How hard is it to find a solution to an instance of SAT if we know that the instance is satisfiable?
Clearly, finding a solution to a SAT instance is at least as hard as deciding whether the instance has a solution and is therefore NP-hard. Can we say the same about the problem of finding a solution to a SAT instance, given that we know that such a solution exists?
It's just as hard to find a solution, if you're promised that a solution exists, then to check whether a solution exists.
In particular, suppose you have an efficient algorithm $A$ to find a solution to any CNF formula if you're promised that it is satisfiable. Suppose I want to know whether $\varphi$ has a satisfiable or not. Then I can run your algorithm $A$ on $\varphi$, and see what happens. If it outputs a solution, I can check whether it satisfies $\varphi$; if yes, then I know that $\varphi$ is satisfiable or not. Otherwise, if it outputs something that is not a valid solution, or it crashes, or its exceeds the running time bounds for $A$, then I know that $\varphi$ is not satisfiable.
Why does this work? Well, if $\varphi$ actually is satisfiable, then your $A$ will find a solution, and so my method will correctly output that $\varphi$ is satisfiable. If $\varphi$ is not satisfiable, then $A$ will either fail to output anything or output something that is not a satisfying assumption (remember, there is no solution, so no matter what $A$ outputs, it can't possibly satisfy $\varphi$), so my method will correctly output that $\varphi$ is not satisfiable. Either way, my method will find the answer, and its running time will be not much longer than the running time of $A$.
This reduction proves that your problem is just as hard as SAT. So if P!=NP, then there is no polynomial-time algorithm for your problem.