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

*    BASE64-encoded, use `atob()` to convert it to a binary string first.
 * @property {Object} [httpHeaders] - Basic authentication headers.
 * @property {boolean} [withCredentials] - Indicates whether or not
 *   cross-site Access-Control requests should be made using credentials such
 *   as cookies or authorization headers. The default is `false`.
 * @property {string} [password] - For decrypting password-protected PDFs.
 * @property {TypedArray} [initialData] - A typed array with the first portion
 *   or all of the pdf data. Used by the extension since some data is already
 *   loaded before the switch to range requests.
 * @property {number} [length] - The PDF file length. It's used for progress
 *   reports and range requests operations.
 * @property {PDFDataRangeTransport} [range] - Allows for using a custom range
 *   transport implementation.
 * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched
 *   per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.
 * @property {PDFWorker} [worker] - The worker that will be used for loading and
 *   parsing the PDF data.
 * @property {number} [verbosity] - Controls the logging level; the constants
 *   from {@link VerbosityLevel} should be used.
 * @property {string} [docBaseUrl] - The base URL of the document, used when
 *   attempting to recover valid absolute URLs for annotations, and outline
 *   items, that (incorrectly) only specify relative URLs.
 * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are
 *   located. Include the trailing slash.
 * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary
 *   packed or not.
 * @property {Object} [CMapReaderFactory] - The factory that will be used when
 *   reading built-in CMap files. Providing a custom factory is useful for
 *   environments without Fetch API or `XMLHttpRequest` support, such as
 *   Node.js. The default value is {DOMCMapReaderFactory}.