Have some dirt on (someone)

To have some information that could hurt someone’s reputation or career.

The reporter has some dirt on the political leader.