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*}
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][1], 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\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}$. 

[1]: https://quant.stackexchange.com/questions/18289/black-scholes-under-stochastic-interest-rates