I'm going to assume you are not given negative weighted edges, because this may not work if there are negative weights.
Algorithm
For each of your edges, label them $1$ to $n$
Let $a_i$ weight A of edge number $i$
Let $b_i$ weight B of edge number $i$
Draw up this table
|a_1 a_2 a_3 a_4 .. a_n
---+-------------------------
b_1|.........................
b_2|.........................
. |.........................
. |.........................
b_n|...................a_n * b_n
With each of the table elements being the product of row and column.
For each edge, sum the relevant table row and column (and remember to remove the element in the intersection since it has been summed twice).
Find the edge that has the largest sum, delete this edge if it doesn't disconnect the graph. Mark the edge as essential otherwise. If an edge has been deleted, fill its rows and columns with 0.
Correctness
The result is obviously a tree.
The result is obviously spanning since no vertices are disconnected.
The result is minimal? If there is another edge whose deletion will create a smaller spanning tree at the end of the algorithm, then that edge would have been deleted and nulled first. (if somebody could help me make this a bit more rigorous/and/or counter example then that would be great)
Runtime
Obviously polynomial in $|V|$.
edit
$(2,11), (11,2), (4,6)$ is not a counter example.
$a_1 = 2, a_2 = 11, a_3 = 4$
$b_1 = 11, b_2 = 2, b_3 = 6$
Then
| 2 11 4
---+--------------------
11 | 22 121 44
2 | 4 22 8
6 | 12 66 24
\begin{align*}
(4,6) &= 44 + 8 + 24 + 66 + 12 = 154 \\
(2,11) &= 22 + 4 + 12 + 121 + 44 = 203 \\
(11,2) &= 121 + 22 + 66 + 4 + 8 = 221
\end{align*}
$(11,2)$ gets removed.
End up with $(2,11), (4,6) = 6 * 17 = 102$
Other spanning trees are
$(11,2), (4,6) = 15 * 12 = 180$
$(2,11), (11,2) = 13 * 13 = 169$