This paper addresses the problem of resource allocation for distributed joint secondary users (SUs) in the uplinks of cognitive radio networks (CRNs) where SUs share bandwidth with primary users (PUs). A game algorithm that provides distributed joint power control and rate allocation with dual pricing factors is proposed. First, to reduce interferences among SUs, the pricing factors for power and rate are defined individually, to control each SU's selfish behavior more efficiently. Then, the existence and uniqueness of the Nash equilibrium (NE) in our utility function are proved theoretically. Lastly, the iterative algorithm for joint power control and rate allocation is provided, along with a flowchart. Simulation results show that, compared to previous approaches, the proposed algorithm can achieve higher utility and SU transmission rate gains under lower transmit power. Moreover, the system sum capacity will be improved while maintaining the quality of service (QoS) for PUs.