ISO/IEC JTC 1/SC 22/WG 23 N0315
Minutes: Meeting #17
ISO/IEC JTC 1/SC 22/WG 23: Programming Language Vulnerabilities
23-25 March 2011


Meeting Times:

23 March 2011: 09:00 to 12:00 and 13:30 to 17:00
24 March 2011: 09:00 to 12:00 and 13:30 to 17:00
25 March 2011: 09:00 to 12:00

Meeting Location (location listed in N0277 has changed):

Novotel Madrid Puente de La Paz
Albacete 1 esquina Avenida de Badajoz
28027 Madrid
Spain
+34 91 7247600

Meeting Logistics:

N0277

Local Contact information:

Joaquín López Muñoz, +34 91 3374313
John Benito, +1 831 6005547

Agenda

1. Opening activities

1.1 Opening Comments (Garcia, Benito)

The convener begins the meeting at approximately 9:00 am on Wednesday, 23 March. Sr Garcia was attending the WG21 meeting but left word with the convener that lunch will be served at 1:00. Coffee will be available at 11:15 and 4:30.

We decide to change the meeting times for Thursday and Friday so that we start and end one hour later.

1.2 Introduction of Participants/Roll Call

John Benito (convener), Jim Moore (secretary, and HOD of the US), Erhard Ploedereder (WG9 liaison, Clive Pygott (HOD-UK), Juan de la Puente (Ada Spain), Steve Michell (HOD-Canada, Larry Wagoner (US), Jim Johnson (US), and Tom Plum (US). Bob and Beth Karlin (US) dialed in for parts of the meeting.

1.3 Procedures for this Meeting (Benito)

Everyone gets to talk. Everyone gets to vote in straw polls. No formal voting. Many documents came in late. We will consider late documents in the order that they arrived.

1.4 Approval of previous Minutes (Moore) [N0289]

Minutes were approved without change.

1.5 Review of previous actions items and resolutions, Action Item and Decision Logs

We went through the action items, closing several and updating the status on others. Regarding AI #16-10, it was noted that the workshop chair has agreed with the principle of having a session on concurrency vulnerabilities. To get on the agenda, one or more position papers must be submitted by 15 May. Steve Michell will write a paper but others are encouraged to submit them also. [Action Item #17-01]

1.6 Approval of Agenda [N0307]

The agenda was approved. It is understood that documents submitted late will be considered in the order that they were received.

1.7 Information on Future Meetings

1.7.1 Future Meeting Schedule

WG 23 #18 2011-06-19/20 MEETING FEE REQUIRED! Edinburgh, Scotland, UK WG 23 Meeting #18 (in conjunction with WG9)
WG 23 #19 2011-09 TBD Copenhagen, Denmark WG 23 Meeting #19 (in conjunction with SC 22 plenary meeting)
WG 23 #20 2011-12-14/16 CHANGED McLean, VA WG23 Meeting #20

Note that the dates for the Edinburgh meeting are Sunday and Monday. We agree that those who attend by phone should pay the meeting fee just as if they attended in person.

Meeting #19 will be the afternoon of 9/21 extending through 9/23. The RT Ada Workshop is 14-16 September near Santander, Spain.

We review the schedule in [N302]. It appears to be unrealistic because many of the language committees are currently fully consumed in producing their own standards. It seems more realistic to go to PDTR following the McLean meeting (#20). We assume that C would look at their annex in September. We assume that Ada HRG will review their annex in roughly September and WG9 would bless it in November. We asked the convener to negotiate a schedule with the Japanese Ruby group to review that annex. [Action Item #17-02]. A Python annex should be available at the end of April. We can review it in June.

The secretary takes an action item to revise the schedule to indicate going to PDTR after the December 2011 meeting [Action Item #17-03]. The revised schedule is [N0333]. Convener should contact WG 9 to determine a schedule for a SPARK annex and the Ada Annex [Action Item #17-04].

We decide to retain a tempo of meeting four times per year with ballots at six month intervals. The meetings that fall during ballots will do other work.

We tentatively schedule meetings for:

1.7.2 Future Agenda Items

Note Action Item #13-07 re MISRA comments. These will be reviewed at the Edinburgh meeting. The convener will map the comments to the new version of the document [Action Item #17-05].

2. Reports on Liaison Activities

2.1 SC 22

Has not met since our last meeting.

2.2 PL22.3/WG5 (Fortran)

No report.

2.3 PL22.4/WG4 (COBOL)

Finished FCD ballot. Going through ballot resolution. Issues with IEEE 754 floating point types. Meeting next in May.

2.4 WG9 (Ada)

Has not met since our last meeting. The June meeting will probably produce a draft of Ada 2012 for CD ballot.

2.5 PL22.11/WG14 (C)

The C working group met last week in London and voted out a draft for DIS ballot. That ballot will finish at the end of September.

2.6 PL22.16/WG21 (C++)

Our meeting is colocated with the meeting of the C++ WG. The intent is to produce a draft for FDIS ballot.

2.7 Ecma International, TC49/TG2 (C#)

No report

2.8 Ecma International, TC39 (ECMAScript)

No report

2.9 MISRA (C)

No report. The MISRA C rep to the C working group reported at their meeting that MISRA is trying to upgrade their baseline to C99.

2.10 MISRA (C++)

They have not met since our last meeting.

2.11 MISRA L (MISRA L)

They have not met since our last meeting.

2.12 SPARK

No report

2.13 MDC (MUMPS)

No report

2.14 SC7/WG19 (UML)

No report

2.15 Other Liaison Activities or National body reports

None

3. Document Review 

Documents available at the beginning of the meeting were the following. Some were submitted late. It is decided to consider the late ones on a time-available basis in order of their submission:

N0302 2010-12-17   Schedule for the preparation of TR 24772, Edition 2, contributed by secretary [xlsx]
N0303 2011-01-29 Replaces [N0301] Revised baseline draft of TR Edition 2, contributed by editor [pdf]
N0304 2011-02-14 Replaces [N0295] Revised draft language-specific annex for the programming language C, contributed by editor [pdf]
N0305 2011-02-15   Proposed separation of XYY into two descriptions (responds to action item #16-12), contributed by Jim Moore [docx, pdf]
N0306 2011-02-15 See [N0253] REVISED Result of Voting on SC 22 N 4575 - Information technology - Programming languages, their environments and system software interfaces - Software code signing, contributed by secretary [pdf]
N0308 2011-03-11   Proposed Annex for Ruby Language, contributed by Jim Johnson [docx, pdf]
N0309 2011-03-11 Revised by [N0310] Proposed vulnerability description on Inter-language calling, contributed by John Benito [docx, pdf]
N0310 2011-03-14 Revised [N0309] Proposed vulnerability description on Inter-language calling, contributed by John Benito [docx, pdf]
N0311 2011-03-21   Proposed revision of LAV in Ada annex, contributed by Erhard Ploedereder [doc, pdf] (Closes AI 16-13).
N0312 2011-03-21   Proposed revision of NZN, contributed by Erhard Ploedereder [zip] (Closes AI 16-07).
N0313 2011-03-21   Proposed vulnerability descriptions YUK and SUK, contributed by Erhard Ploedereder [doc, pdf] (Closes AI 16-06)
N0314 2011-03-11   Code signing proof of concept, contributed by Jim Johnson [zip]
N0316     Proposed merger of WXQ and YZS, contributed by Beth Karlin [doc, pdf]. (Closes AI 16-04.)
N0317 2011-03-23 Replaced by [N0318] Strawman draft, “Code Signing for Source Code”, contributed by Larry Wagoner (doc, pdf)
N0319 2011-03-23 Also see [N0312] Proposed rewrite of NZN, contributed by Bob Karlin (doc, pdf)

We begin consideration of the submitted documents.

N0303 2011-01-29 Replaces [N0301] Revised baseline draft of TR Edition 2, contributed by editor [pdf]

The editor produced this document as a result of the last meeting and circulated it for comment. He has not received any. We decide that this is the baseline document. Until we go to PDTR, it remains possible to provide comments on this baseline. The editor would particularly appreciate comments on the index.

N0304 2011-02-14 Replaces [N0295] Revised draft language-specific annex for the programming language C, contributed by editor [pdf]

This version of the document has been bookmarked. It has been out for comment. None have been received. We decide to add the C annex to the baseline [Action Item #17-10] and to send this document to WG14 for comments [Action Item #17-06] We will ask them to provide comments by our December 2011 meeting.

N0305 2011-02-15   Proposed separation of XYY into two description (responds to action item #16-12), contributed by Jim Moore [docx, pdf]

We agree to separate the two and marked up the proposal as [N0321]. Moore revised the proposal in accordance with the comments [Action Item #17-07] and resubmitted it [N0332] for inclusion in the baseline [Action Item #17-11].

N0306 2011-02-15 See [N0253] REVISED Result of Voting on SC 22 N 4575 - Information technology - Programming languages, their environments and system software interfaces - Software code signing, contributed by secretary [pdf]

It was noted that Japan voted No with a comment that a working draft should have been provided. Moore suggests that we continue to produce a working draft so that we can attach it to a New Work Item proposal and ballot it again. This approach might also succeed in getting an affirmative vote from the Netherlands. Pygott said that the UK might have some interested persons. Moore suggested that they might be invited to the Edinburgh meeting.[Action Item #17-08]

N0317 2011-03-23 Replaced by [N0318] Strawman draft, “Code Signing for Source Code”, contributed by Larry Wagoner (doc, pdf)

We reviewed the code signing document, marked changes and saved it again as [N0318]. We ask Wagoner to revise the document to reflect the markups and contribute it again [Action Item #17-12].

N0308 2011-03-11   Proposed Annex for Ruby Language, contributed by Jim Johnson [docx, pdf]

We review the document, making some markups that are saved as [N0320]. We decide that this is an excellent first draft. Johnson revises the draft [N0331] to be added to the baseline document. [Action Item #17-21]. We will send the baseline document to IPA (the Japanese group) with a request to review the annex. [Action Item #17-02]

N0310 2011-03-14 Revised [N0309] Proposed vulnerability description on Inter-language calling, contributed by John Benito [docx, pdf]

We mark this up and the result [N0322] should go into the baseline.

N0316     Proposed merger of WXQ and YZS, contributed by Beth Karlin [doc, pdf]. (Closes AI 16-04.)

We decide that there are two vulnerabilities, to be named "Unused Variable" and "Dead Store". Unused Variable is a vulnerability because it leaves storage to be used by an attacker. Dead Store is a problem because it indicates a design or coding error. (If the apparent errant behaviour was really intended then the variable should have been marked as Volatile.) The compiler may optimize it away and the intended communication between the processes may not occur. (Note that the new version of C++ may separate "Atomic" from "Volatile".) Moore redrafted the description as [N0325]. The result of markup was saved as [N0326] and should be added to the baseline [Action Item #17-14].

N0312 2011-03-21   Proposed revision of NZN, contributed by Erhard Ploedereder [zip] (Closes AI 16-07).

N0319 2011-03-23 Also see [N0312] Proposed rewrite of NZN, contributed by Bob Karlin (doc, pdf)

We consider these two proposals together. Ploedereder's proposal combines error returns with exceptions and discusses the tradeoffs. Karlin's proposal separates the two. Ploedereder says that the basic vulnerabilities -- not handling error, not being told that handling is required, not getting enough information -- are common to both mechanisms. There are things that we like about both Ploedereder's proposal and Karlin's proposal. We decide that each of them should improve their proposals and we will then look at them again Friday. The revised proposals were logged as [N0328] and [N0329]. We decide that we prefer the single, integrated approach of Ploedereder's paper [N0329] and will use that in the baseline. [Action Item #17-15]

N0311 2011-03-21   Proposed revision of LAV in Ada annex, contributed by Erhard Ploedereder [doc, pdf] (Closes AI 16-13).

We review the text and mark it up as [N0330]. The editor will incorporate this text and any other changes into the existing Ada annex and transmit the annex to WG 9 for their review. [Action Item #17-16] .We hope that this review can be accomplished before the June meeting of WG23.

N0313 2011-03-21   Proposed vulnerability descriptions YUK and SUK, contributed by Erhard Ploedereder [doc, pdf] (Closes AI 16-06)

New three-letter codes will be assigned prior to incorporating them into the baseline. The proposal was marked up and saved as [N0324]. After more discussion on the final day, the final markup was saved as [N0327] for addition to the baseline [Action Item #17-17].

We discuss the alignment of the annex numbering with the main document. We decide to insert a new 6.1 into the main document that says something like, "The following descriptions are written in a language-independent manner except when specific languages are used in examples. The annexes may be consulted for language-specific descriptions." This text may be adapted from the explanation of Clause 6 in sub-clause 4.3. Also add a 7.1 that is adapted from the explanation of Clause 7 in sub-clause 4.3. A 7.2 sub-clause can state that "Because these vulnerabilities are application-related rather than language-related, there are no corresponding sections in the annexes." This discussion resulted in a proposal from the editor and the secretary, [N0323]. This approach was agreed by everyone present: Ploedereder, Michell, Wagoner, Johnson, Benito, Moore, and Karlin. [Action Item #17-18].

We decide to do a formal WD circulation and commenting going into the June meeting. We note that a DOC file should be circulated with the PDF. Every active member of the WG is invited to review the entire document, but will be assigned a section for particular focus. The goal is to circulate the document by the beginning of May. [Action Item #17-19].

Larry contacted the Python group and received a response indicating interest. Larry will ask if they want to add someone to the mailing list for the group. We agree that we should draft an annex and send it to them for review. [Action Item #17-20].

The most recent SQL standard has 13 parts. Four are required and nine are optional. The convener suggests that an annex should concern itself only with the four required parts. Additional discussion is inconclusive pending additional understanding of the structure of the standard.

4. Other Business

We thank our hosts, Telefónica and J. Daniel Garcia.

5. Resolutions

6. Adjournment

The meeting is adjourned at approximately 1:00 pm on Friday, 25 March.