Consider the call option with payoff $(S_T-K)^+$ at the option maturity $T$. Note that the forward exchange rate \begin{align*} F(t, T) = S_t \frac{P^f(T, T)}{P^d(T, T)} \end{align*}\begin{align*} F(t, T) = S_t \frac{P^f(t, T)}{P^d(t, T)} \end{align*} is a martingale under the domestic $T$-forward probability measure $Q^T$, where $P^d(T, T)$ and $P^f(T, T)$ are prices at time $t$ of respective domestic and foreign zero-coupon bonds with maturity $T$ and unit face values. As in this question, let \begin{align*} B_a(t, T) = \frac{1}{\lambda_a}\Big(e^{\lambda_a(T-t)}-1 \Big), \end{align*} for $a=d$ and $f$. Then, under $Q^T$, \begin{align*} \frac{d F(t, T)}{F(t, T)} &= -\sigma_f B_f(t, T) dW_t^f + \sigma_d B_d(t, T) dW_t^d + \sigma^{cst} dW_t. \end{align*} Here, we use the same notations for the respective Brownian motions. Let $\sigma$ be a quantity defined by \begin{align*} T \sigma^2 &= \int_0^T\Big(\left(\sigma_f B_f(t, T)\right)^2 + \left(\sigma_d B_d(t, T)\right)^2 + (\sigma^{cst})^2 \\ &\qquad\qquad - 2 \sigma_d\sigma_f B_d(t, T)B_f(t, T) - 2 \sigma^{cst} \sigma_f B_f(t, T) + 2 \sigma^{cst} \sigma_d B_d(t, T)\Big) dt. \end{align*}\begin{align*} T \sigma^2 &= \int_0^T\Big(\left(\sigma_f B_f(t, T)\right)^2 + \left(\sigma_d B_d(t, T)\right)^2 + (\sigma^{cst})^2 \\ &\qquad\qquad - 2 \sigma_d\sigma_f\rho_1 B_d(t, T)B_f(t, T) - 2 \rho_3 \sigma^{cst} \sigma_f B_f(t, T) + 2\rho_2 \sigma^{cst} \sigma_d B_d(t, T)\Big) dt. \end{align*} Then, the option value is given by \begin{align*} P^d(0, T)E_{Q^T}\left((F(T, T)-K)^+\right) &=P^d(0, T)\Big[F(0, T)N(d_1) - KN(d_2) \Big], \end{align*} where $d_1 = \frac{\ln F(0, T)/K + \frac{1}{2}\sigma^2 T}{\sigma \sqrt{T}}$ and $d_2 = d_1 - \sigma \sqrt{T}$.