Find all pairs of positive integers $(m, n)$ such that $(2^m - 1)(2^n - 1)$ is a perfect square.
To find all pairs of positive integers \((m, n)\) such that \((2^m - 1)(2^n - 1)\) is a perfect square, we will use several lemmas and theorems. The solution involves reducing the problem step-by-step and using properties of numbers and prime factorization.

1. **Reduction to \(m \mid n\)**:
   - Let \(k = \gcd(m, n)\). Then \(\gcd(2^m - 1, 2^n - 1) = 2^k - 1\).
   - We can write:
     \[
     \frac{2^m - 1}{2^k - 1} \cdot \frac{2^n - 1}{2^k - 1}
     \]
     Since the product is a perfect square and the terms are relatively prime, each term must be a perfect square.
   - This implies that either \(m = k\) or \((m, k) = (6, 3)\) and either \(n = k\) or \((n, k) = (6, 3)\). Thus, either \(m \mid n\) or \(n \mid m\).

2. **Reduction to \(b\) odd**:
   - If \(b\) is even, then \((a, b) = (3, 2)\).
   - If \(b = 2c\), then:
     \[
     \frac{2^{2ac} - 1}{2^a - 1} = \left(2^{ac} + 1\right) \frac{2^{ac} - 1}{2^a - 1}
     \]
     - If \(p\) divides \(\frac{2^{ac} - 1}{2^a - 1}\), then it divides \(2^{ac} - 1\) and does not divide \(2^{ac} + 1\). Thus, \(2^{ac} + 1\) is a square, say \(x^2\).
     - From \(2^{ac} = x^2 - 1 = (x - 1)(x + 1)\), we get \(ac = 3\), and the rest is a finite case check.

3. **Problem for \(a = q^\ell \cdot d\), \(b = q\)**:
   - Let \(q\) be an odd prime and \(\ell \ge 1\). Then:
     \[
     \frac{2^{q^{\ell+1} \cdot d} - 1}{2^{q^\ell \cdot d} - 1}
     \]
     is not a square.
   - Write the expression as:
     \[
     \frac{2^{q^{\ell+1} \cdot d} - 1}{2^{q^\ell \cdot d} - 1} = 1 + 2^{q^\ell \cdot d} + \cdots + 2^{q^\ell (q-1) \cdot d}
     \]
     - We will bound this between two squares using properties of binomial coefficients and generating functions.

4. **Problem for \(a = q^k d\), \(b = q^{\ell - k}\)**:
   - Let \(q\) be the minimal prime divisor of \(a\), and let \(a = q^k d\) where \(q \nmid d\). Suppose \(q\) is odd and \(b = q^{\ell - k}\) for \(\ell > k > 0\). Then:
     \[
     \frac{2^{q^\ell \cdot d} - 1}{2^{q^k \cdot d} - 1}
     \]
     is not a square.
   - Write:
     \[
     \frac{2^{q^\ell \cdot d} - 1}{2^{q^k \cdot d} - 1} = \frac{2^{q^{\ell-1} \cdot d} - 1}{2^{q^k \cdot d} - 1} \cdot \frac{2^{q^\ell \cdot d} - 1}{2^{q^{\ell-1} \cdot d} - 1}
     \]
     - If \(p\) divides the left term, then \(p\) divides \(2^{q^{\ell-1} \cdot d} - 1\), so:
       \[
       \nu_p\left(\frac{2^{q^\ell \cdot d} - 1}{2^{q^{\ell-1} \cdot d} - 1}\right) = \nu_p(q)
       \]
       by LTE (Lifting The Exponent lemma). However, \(p \ne q\), so the terms are relatively prime, and the right term is not a square by Lemma 3.

5. **Problem for \(b\) a prime power**:
   - If \(b > 1\) is an odd prime power, then:
     \[
     \frac{2^{ab} - 1}{2^a - 1}
     \]
     is not a square.
   - Induct on the number of distinct prime factors of \(a\). Let \(q\) be the smallest prime divisor of \(a\), and let \(a = q^k d\) where \(q \nmid d\). If \(b\) is a prime power of \(q\), we are done by Lemma 4. Otherwise, \(q \nmid b\).

6. **Final induction**:
   - If \(b > 1\) is odd, then:
     \[
     \frac{2^{ab} - 1}{2^a - 1}
     \]
     is not a square.
   - Induct on the number of distinct prime divisors of \(b\). The base case is Lemma 5. Let \(q\) be the smallest prime divisor of \(b\), and let \(b = q^k c\) where \(q \nmid c\). Write:
     \[
     \frac{2^{q^k ac} - 1}{2^a - 1} = \frac{2^{q^k ac} - 1}{2^{ac} - 1} \cdot \frac{2^{ac} - 1}{2^a - 1}
     \]
     - \(q\) does not divide the right term. We know \(\operatorname{ord}_q(2) \mid ac\), but \(\gcd(\operatorname{ord}_q(2), c) = 1\) since \(\operatorname{ord}_q(2) \le q - 1\) and \(q\) is the smallest prime divisor of \(a\). Thus, \(\operatorname{ord}_q(2) \mid a\), so \(q \mid 2^a - 1\). Then by LTE:
       \[
       \nu_q\left(\frac{2^{ac} - 1}{2^a - 1}\right) = \nu_q(c) = 0
       \]
     - The left and right terms are relatively prime. Let \(p\) divide the right term, then \(p \mid 2^{ac} - 1\), so by LTE:
       \[
       \nu_p\left(\frac{2^{q^k ac} - 1}{2^{ac} - 1}\right) = \nu_p(q^k) = 0
       \]
       since \(q \ne p\). Thus, the right term is a square, completing the inductive step.

The statement in Lemma 1 is verified: if \(\frac{2^{ab} - 1}{2^a - 1}\) is a square, then either \(b = 1\) or \((a, b) = (3, 2)\). The conclusion follows.

The final answer is \( \boxed{ (m, n) = (k, k) } \) or \(\{m, n\} = \{3, 6\}\).