syncAnnotScan annotation-staging primitive

PDF_FOXIT_SYNCANNOTSCAN

← All detection heuristics · PDF

low PDF_FOXIT_SYNCANNOTSCAN

What it means

PDF JavaScript calls syncAnnotScan() — an exploit-kit staging primitive used to force annotation enumeration before reading payload bytes from /Subject fields.

Why it fires

syncAnnotScan() is a legitimate no-argument Acrobat / Foxit JavaScript API that ensures all annotation objects are populated before getAnnots() is called. It is not a vulnerable sink and has no associated CVE. However, exploit-kit JavaScript routinely calls it as a staging step in the pattern 'z.syncAnnotScan(); var p = y.getAnnots({nPage:0}); var s = p[0].subject; ... eval(s)' — where the encoded payload was hidden in annotation /Subject fields. A bare call rarely appears in legitimate PDFs, so it is a low-severity exploit-kit-shape indicator on its own; combined with getAnnots() + subject reads + eval, the related rule PDF_JS_OBFUSCATED_DROPPER fires the high-severity composite finding.

Other PDF heuristics

PDF_LAUNCH_JS_PROTOCOL PDF_LAUNCH_COMMAND PDF_LAUNCH_MSHTA PDF_ADOBE_QR_UNLOCK_LURE PDF_JS_URL_KEYED_READER_EXPLOIT_KIT CVE_2009_2990_U3D_AUTOACTIVATE PDF_ANNOT_AUTHOR_EVAL_STAGER PDF_ANNOT_SUBJECT_HEX_EVAL_STAGER PDF_ANNOT_SUBJECT_MARKER_EVAL_STAGER PDF_JS_BASE_N_TOKEN_DOWNLOADER PDF_BASE64_PE_PAYLOAD PDF_BRAND_INVOICE_LURE_OFFDOMAIN PDF_BRAND_INVOICE_CLOUD_EMAIL_LURE PDF_CORPORATE_PRESENTATION_CLOUD_REDIRECT_LURE PDF_CORRUPTED_FILE_UPDATE_LURE PDF_CRACKED_SOFTWARE_SHORTLINK_LURE PDF_GAME_HACK_SEO_LINK_FARM PDF_DISTRIBUTED_PIRACY_LINK_FARM PDF_DOCUSIGN_DOWNLOAD_LURE PDF_DOCUMENT_ACTION_HOST_MISMATCH_LURE PDF_DYNAMIC_DNS_DOCUMENT_LINK_FARM PDF_SWF_NATIVE_MEMORY_CORRUPTION_PAYLOAD PDF_EMBEDDED_PE_PAYLOAD CVE_2010_1240_EMBEDDED_EXPORT_LAUNCH