Efficient and fair power allocation associated with congestion control in orthogonal frequency division multiplexing (OFDM)-based multi-hop cognitive radio networks (CRNs) is a challenging and complicated problem. In this paper, we consider their mutual relationship through a cross-layer optimization design that addresses both aggregate utility maximization and energy consumption minimization. By introducing the unique outage constraint of primary user (PU) protection, the joint congestion control and power control (JCPC) formulation is shown to be a nonlinear non-convex optimization problem. Using dual decomposition approach, we first propose a distributed algorithm that can attain the optimal solution via message passing while maintaining the architectural modularity between the layers. Next, we develop a suboptimal algorithm using a new heuristic method to alleviate the overhead burden of the first solution. Finally, the numerical results confirm that the OFDM-based multi-hop CRNs can optimally exploit the spectrum opportunity if the PU outage probability is kept below the target.