The root cause of cache-based side-channel attacks is that the application will access different cache memory depending on different values of sensitive information.This paper proposes a symbolic-execution-based vulnerability detection technology to identify the code in an application that can be exploited in cache attacks.It analyzes program's data propagation of symbolized sensitive information to locate candidate vulnerabilities
and determines the exploitability through comparison of different possible accessed cache addresses.A prototype system called CSCVulDiscover is developed and tested against 12 kinds of implementation of 3 popular cryptographic algorithms including RSA
and the result shows that 125 vulnerabilities are detected.