Attach (recommended) or Link to PDF file here:
[issue13075.pdf](https://github.com/mozilla/pdf.js/files/6117265/issue13075.pdf)

Configuration:
- Web browser and its version: Node.js 14.15.5
- Operating system and its version: Mac OS 11.2.1
- PDF.js version: master/2.7.570/2.6.347/1.10.100
- Is a browser extension: false

Steps to reproduce the problem:
1. const fileBuffer = fs.readFileSync('./pdf')
2. PDFJS.getDocument(fileBuffer)
3. fileBuffer.buffer has junk data at the start and at the end. Randomly, pdfjs can not read a buffer, whose buffer.buffer contains random memory junk data in fileBuffer.buffer

What is the expected behavior? pdfjs ignores a buffer.buffer and reads only buffer

What went wrong? (add screenshot)
I've catched that random error and wrote fileBuffer.buffer of the error buffer to a file named issue13075.pdf
I've recreated a buffer that has the wrong buffer.buffer (see line 6). Pdfjs fails to read that buffer (console.log('Fail')).
The Uint8Array of that buffer, pdfjs correctly reads (console.log('OK')).
![image](https://user-images.githubusercontent.com/8398353/110660366-59f1a780-8178-11eb-94c2-29be826c2118.png)


codesandbox:
https://codesandbox.io/s/pdfjs-loading-from-buffer-issue-9h4fd?file=/src/index.js

ignoreErrors: source.ignoreErrors,
      isEvalSupported: source.isEvalSupported,
      fontExtraProperties: source.fontExtraProperties,
    })
    .then(function (workerId) {
      if (worker.destroyed) {
        throw new Error("Worker was destroyed");
      }
      return workerId;
    });
}
/**
 * The loading task controls the operations required to load a PDF document
 * (such as network requests) and provides a way to listen for completion,
 * after which individual pages can be rendered.
 *
 * @typedef {Object} PDFDocumentLoadingTask
 * @property {string} docId - Unique identifier for the document loading task.
 * @property {boolean} destroyed - Whether the loading task is destroyed or not.
 * @property {function} [onPassword] - Callback to request a password if a wrong
 *   or no password was provided. The callback receives two parameters: a
 *   function that should be called with the new password, and a reason (see
 *   {@link PasswordResponses}).
 * @property {function} [onProgress] - Callback to be able to monitor the
 *   loading progress of the PDF file (necessary to implement e.g. a loading
 *   bar). The callback receives an {Object} with the properties `loaded`
 *   ({number}) and `total` ({number}) that indicate how many bytes are loaded.
 * @property {function} [onUnsupportedFeature] - Callback for when an
 *   unsupported feature is used in the PDF document. The callback receives an
 *   {@link UNSUPPORTED_FEATURES} argument.