歴代の年始め最初に発表されたCVE(1999〜2018)をスクレイピングする

Googleスプレッドシートでのスクレイピングがとても便利なので、 題材としてNISTから1999年以降毎年最初に発表されたCVE(CVE-yyyy-0001)の descriptionを抜き出してみました。

やり方

IMPORTXML関数を使うだけです。簡単かつ強力でした。
フォーマットはIMPORTXML(URL, XPATH)です。

XPATHの記法は以下を参考にしました。 XPATHは、Chrome要素を検証からCopy XPathでうまくいく場合もありますが、 NISTのページではうまくいかず。ちゃんと理解するの大切ですね。

クローラ作成に必須!XPATHの記法まとめ

今回の場合は、以下の実装としました。

=IMPORTXML(URL,"//p[@data-testid='vuln-description']")

結果

ID 内容
CVE-1999-0001 ip_input.c in BSD-derived TCP/IP implementations allows remote attackers to
cause a denial of service (crash or hang) via crafted packets.
CVE-2000-0001 RealMedia server allows remote attackers to cause a denial of service via a
long ramgen request.
CVE-2001-0001 cookiedecode function in PHP-Nuke 4.4 allows users to bypass authentication
and gain access to other user accounts by extracting the authentication
information from a cookie.
CVE-2002-0001 Vulnerability in RFC822 address parser in mutt before 1.2.5.1 and mutt
1.3.x before 1.3.25 allows remote attackers to execute arbitrary commands
via an improperly terminated comment or phrase in the address list.
CVE-2003-0001 Multiple ethernet Network Interface Card (NIC) device drivers do not pad
frames with null bytes, which allows remote attackers to obtain information
from previous packets or kernel memory by using malformed packets, as
demonstrated by Etherleak.
CVE-2004-0001 Unknown vulnerability in the eflags checking in the 32-bit ptrace emulation
for the Linux kernel on AMD64 systems allows local users to gain privileges.
CVE-2005-0001 Race condition in the page fault handler (fault.c) for Linux kernel 2.2.x
to 2.2.7, 2.4 to 2.4.29, and 2.6 to 2.6.10, when running on multiprocessor
machines, allows local users to execute arbitrary code via concurrent
threads that share the same virtual memory space and simultaneously request
stack expansion.
CVE-2006-0001 Stack-based buffer overflow in Microsoft Publisher 2000 through 2003 allows
user-assisted remote attackers to execute arbitrary code via a crafted PUB
file, which causes an overflow when parsing fonts.
CVE-2007-0001 The file watch implementation in the audit subsystem (auditctl -w) in the
Red Hat Enterprise Linux (RHEL) 4 kernel 2.6.9 allows local users to cause
a denial of service (kernel panic) by replacing a watched file, which does
not cause the watch on the old inode to be dropped.
CVE-2008-0001 VFS in the Linux kernel before 2.6.22.16, and 2.6.23.x before 2.6.23.14,
performs tests of access mode by using the flag variable instead of the
acc_mode variable, which might allow local users to bypass intended
permissions and remove directories.
CVE-2009-0001 Heap-based buffer overflow in Apple QuickTime before 7.6 allows remote
attackers to cause a denial of service (application termination) and
possibly execute arbitrary code via a crafted RTSP URL.
CVE-2010-0001 Integer underflow in the unlzw function in unlzw.c in gzip before 1.4 on
64-bit platforms, as used in ncompress and probably others, allows remote
attackers to cause a denial of service (application crash) or possibly
execute arbitrary code via a crafted archive that uses LZW compression,
leading to an array index error.
CVE-2011-0001 Double free vulnerability in the iscsi_rx_handler function
(usr/iscsi/iscsid.c) in the tgt daemon (tgtd) in Linux SCSI target
framework (tgt) before 1.0.14, aka scsi-target-utils, allows remote
attackers to cause a denial of service (memory corruption and crash) and
possibly execute arbitrary code via unknown vectors related to a buffer
overflow during iscsi login. NOTE: some of these details are obtained from
third party information.
CVE-2012-0001 The kernel in Microsoft Windows XP SP2, Windows Server 2003 SP2, Windows
Vista SP2, Windows Server 2008 SP2, R2, and R2 SP1, and Windows 7 Gold and
SP1 does not properly load structured exception handling tables, which
allows context-dependent attackers to bypass the SafeSEH security feature
by leveraging a Visual C++ .NET 2003 application, aka "Windows Kernel
SafeSEH Bypass Vulnerability."
CVE-2013-0001 The Windows Forms (aka WinForms) component in Microsoft .NET Framework 1.0
SP3, 1.1 SP1, 2.0 SP2, 3.0 SP2, 4, and 4.5 does not properly initialize
memory arrays, which allows remote attackers to obtain sensitive
information via (1) a crafted XAML browser application (XBAP) or (2) a
crafted .NET Framework application that leverages a pointer to an unmanaged
memory location, aka "System Drawing Information Disclosure Vulnerability."
CVE-2014-0001 Buffer overflow in client/mysql.cc in Oracle MySQL and MariaDB before
5.5.35 allows remote database servers to cause a denial of service (crash)
and possibly execute arbitrary code via a long server version string.
CVE-2015-0001 The Windows Error Reporting (WER) component in Microsoft Windows 8, Windows
8.1, Windows Server 2012 Gold and R2, and Windows RT Gold and 8.1 allows
local users to bypass the Protected Process Light protection mechanism and
read the contents of arbitrary process-memory locations by leveraging
administrative privileges, aka "Windows Error Reporting Security Feature
Bypass Vulnerability."
CVE-2016-0001 REJECT DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: none. Reason:
The CNA or individual who requested this candidate did not associate it
with any vulnerability during 2016. Notes: none.
CVE-2017-0001 The Graphics Device Interface (GDI) in Microsoft Windows Vista SP2; Windows
Server 2008 SP2 and R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012
Gold and R2; Windows RT 8.1; and Windows 10 Gold, 1511, and 1607 allows
local users to gain privileges via a crafted application, aka "Windows GDI
Elevation of Privilege Vulnerability." This vulnerability is different from
those described in CVE-2017-0005, CVE-2017-0025, and CVE-2017-0047.
CVE-2018-0001 A remote, unauthenticated attacker may be able to execute code by
exploiting a use-after-free defect found in older versions of PHP through
injection of crafted data via specific PHP URLs within the context of the
J-Web process. Affected releases are Juniper Networks Junos OS: 12.1X46
versions prior to 12.1X46-D67; 12.3 versions prior to 12.3R12-S5; 12.3X48
versions prior to 12.3X48-D35; 14.1 versions prior to 14.1R8-S5, 14.1R9;
14.1X53 versions prior to 14.1X53-D44, 14.1X53-D50; 14.2 versions prior to
14.2R7-S7, 14.2R8; 15.1 versions prior to 15.1R3; 15.1X49 versions prior to
15.1X49-D30; 15.1X53 versions prior to 15.1X53-D70.