Tikz-cd diagram arrow passing under a node - not crossing it
Splitting into multiple arrows:
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{xcolor}
\begin{document}
\begin{tikzcd}
%first row
A \ar[rr] \ar[dd] \ar[dr]
&
& B \ar[dd] \ar[dr] \ar[from=dl]
&
\\
%second row
& E \ar[rr] \ar[dd] \ar[-,dl]
&
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr]
&
& D \ar[dr] \ar[ur]
&
\\
%forth row
& G \ar[rr] \ar[-,ur]
&
& H
\end{tikzcd}
\end{document}
Avoiding the nodes:
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{xcolor}
\begin{document}
\begin{tikzcd}
%first row
A \ar[rr] \ar[dd]
&
& B \ar[dd] \ar[dr] \ar[from=ddll,bend left=30]
&
\\
%second row
& E \ar[rr] \ar[dd] \ar[from=ul,crossing over]
&
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr]
&
& D \ar[dr]
&
\\
%forth row
& G \ar[rr] \ar[from=uurr,bend left=30,crossing over]
&
& H
\end{tikzcd}
\end{document}
Just for fun: an attempt to give a 3D impression.
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{backgrounds}
\usepackage{contour}
\contourlength{1pt}
\begin{document}
\[\begin{tikzcd}[execute at end picture={
\begin{scope}[on background layer]
\draw[->] (C) -- (B);
\end{scope}
\draw[preaction={draw,line width=2.4pt,white},->] (G) -- (F);
}]
%first row
A \ar[rr] \ar[dd] \ar[dr]
&
& |[alias=B]| B \ar[dd] \ar[dr]
&
\\
%second row
& \contour{white}{$E$} \ar[rr] \ar[dd]
&
&|[alias=F]| F \ar[dd]
\\
%third row
|[alias=C]| C \ar[rr] \ar[dr] %\ar[uurr]
&
& D \ar[dr]
&
\\
%forth row
& |[alias=G]| G \ar[rr] %\ar[uurr]
&
& H
\end{tikzcd}\]
\end{document}
This does what you want:
\documentclass[pdf]{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
%first row
A \ar[rr] \ar[dd] \ar[dr]
&
& B \ar[dd] \ar[dr]
&
\\
%second row
& E \ar[rr] \ar[dd]
&
& F \ar[dd]
\\
%third row
C \ar[rr] \ar[dr] \ar[uurr, "\textstyle E" description]
&
& D \ar[dr]
&
\\
%forth row
& G \ar[rr] \ar[uurr, "\textstyle D" description]
&
& H
\end{tikzcd}
\]
\end{document}